我正在设计一个基于图像的密码系统,这些图像显示在网格视图中。因为我不太熟悉android我想要你的帮助。我的图像在网格上动态显示,即他们不断改变他们的位置。 我不知道如何将图像定义为密码。我想要按顺序点击四个图像并在注册给用户时保存它们。我在保存部分遇到困难,比如使用哪种方法以及在哪里使用保存。
我想做的就是这个。 我希望手机在网格视图中动态显示15个图像。然后用户依次点击4个图像来设置注册密码,并将其保存为离线状态。因此,用户下次按相同顺序单击4张图像即可解锁。我很难存储显示在特定网格上的相应图像,因为需要图像来保存密码以及如何存储用户的数据,如用户名,名称和他点击的图像。
答案 0 :(得分:0)
您可以在Gridlayout中使用ImageButton或使用按钮并将图像设置为背景。进一步编写适配器类(我假设您已编写了一个)。 在适配器中设置OnClick侦听器并听取相同的单击..
在您的适配器类
中 holder.buttonone.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((GridView)parent).performItemClick(v,position,0);
}
});
holder.buttontwo.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
((GridView)parent).performItemClick(v,position,0);
}
});//further for your 15 buttons
在你的活动中:
gridView.setOnItemClickListener(new AdapterView.OnItemClickListener() {
@Override
public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
switch(view.getId)
{
case R.id.buttonone:
//set the code in your edittext
break;
case R.id.buttontwo:
//do your stuff
break;
}
});
我假设您有一个textview / edittext,它将打印密码或至少xxxx ..因此,您可以在那里显示它并进一步处理该数据。
使用edittext.getText().toString()
并存储它。
希望有所帮助