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");
您可以在每个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);
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");
您可以在每个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);