Android Studio 如何检查点击了哪个Imageview 并为其分配一个Int 值?

Android Studio How to check which Imageview has clicked and assign an Int value to it?

ActivityOne

我有 12 个图像视图。用户单击其中之一。 如果他们单击 ImageView 1,我们会为其分配一个 int 值 (image_id=1; )

ActivityTwo

使用 If else 语句检查他们点击了哪个图像

Intent result_intent=getIntent();

    if (image_id==1) {
        text.setText("U have clicked image "+image_id);
    }

我需要 ActivityTwo 中的 int 值,因为我需要计算某事。 谁能帮忙?感谢

ImageView.setOnClickListener(new View.OnClickListener()
{
  public void onClick(View v)
  {
    //do your stuff
  }
});

在ActivityOne中,这样传值:

Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
intent.putExtra("IMAGE_ID", imageId);
startActivity(intent);

在ActivityTwo中,取值方式如下:

int image_id = getIntent().getIntExtra("IMAGE_ID", 0);

使用 Intent 将值传递给 Activity2。

在活动 1 中:

Intent intent = new Intent(this, Activity2.class);
intent.putExtra("image_id", image_id);
startActivity(intent);

在活动 2 中:

String image_id = getIntent.getIntExtra("image_id");

more detail

您可以在每个imageView 上设置OnClickListener。在 onClick(View v) 方法中检查每个图像视图的 ID。就是这样:

ImageView1.setOnClickListener(this);
ImageView2.setOnClickListener(this);

现在您必须实现 View.OnClickListener 接口。实现这个之后你有这个方法:

@Override
        public void onClick(View v) {
            if(v.getId()==R.id.ImageView1){
               image_id=1;
       Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
       intent.putExtra("IMAGE_ID", image_id);
       startActivity(intent);
             }else  if(v.getId()==R.id.ImageView2){
               image_id=2;
        Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
       intent.putExtra("IMAGE_ID", image_id);
       startActivity(intent);
             }
       }

希望这对您有所帮助:)

编辑: 有关按钮的更多信息,请单击访问 here

@gosulove

setOnClickListener 全部 ImageViews

像这样在你的 Activity 1

ImageView1.setOnClickListener(this);
ImageView2.setOnClickListener(this);
ImageView3.setOnClickListener(this);
ImageView4.setOnClickListener(this);
ImageView5.setOnClickListener(this);
ImageView6.setOnClickListener(this);
ImageView7.setOnClickListener(this);
ImageView8.setOnClickListener(this);
ImageView9.setOnClickListener(this);
ImageView10.setOnClickListener(this);
// like this for all 10 ImageViews

现在在您的 onClick() 方法中

public void onClick(View v) {
       int image_id;
       swtich v.getId() {
        case R.id.ImageView1 :
             image_id = 1;
             break;
        case R.id.ImageView2 :
             image_id = 2;
             break;
        // like this for all your imageviews
        case R.id.ImageView10 :
             image_id = 10;
             break;
        }
        Intent intent = new Intent(ActivityOne.this, ActivityTwo.class);
        intent.putExtra("IMAGE_ID", image_id);
        startActivity(intent);
      }

在你的 Activity2

int image_id = getIntent().getIntExtra("IMAGE_ID", 0);
text.setText("U have clicked image "+image_id);