从网格视图获取图像ID android

时间:2017-07-27 06:17:51

标签: java android

我正在设计一个基于图像的密码系统,这些图像显示在网格视图中。因为我不太熟悉android我想要你的帮助。我的图像在网格上动态显示,即他们不断改变他们的位置。 我不知道如何将图像定义为密码。我想要按顺序点击四个图像并在注册给用户时保存它们。我在保存部分遇到困难,比如使用哪种方法以及在哪里使用保存。

我想做的就是这个。 我希望手机在网格视图中动态显示15个图像。然后用户依次点击4个图像来设置注册密码,并将其保存为离线状态。因此,用户下次按相同顺序单击4张图像即可解锁。我很难存储显示在特定网格上的相应图像,因为需要图像来保存密码以及如何存储用户的数据,如用户名,名称和他点击的图像。

1 个答案:

答案 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()并存储它。 希望有所帮助