根据之前点击的图像视图更改图像视图

时间:2016-12-19 15:58:28

标签: android android-activity imageview

在我的主要活动中,我获得了2张图像视图(imageview1和imageview2)。如果我点击其中一个它开始一个新的活动。在新的活动中,我也得到了一个imageview。我希望它改变为我持有的imageview。

我知道我可以用

更改图像视图
if(a === 5){ // it will check typeof(a) == typeof(RHS value)
  //success statements
}

如果我在新活动中持有imageview1,那么它应该是

imageView.setImageResource(R.mipmap.ic_launcher);

如果我持有imageview2

    imageView.setImageResource(imageview1);

但我不知道该怎么做。

3 个答案:

答案 0 :(得分:0)

你可以做这样的事情

  1. 单击imageview 1并启动Intent时,会向下一个活动发送值

    例如

    Intent i = new Intent(...);
    i.putExtra("image","imageview1")
    
  2. 在另一个活动中,

    Intent i = new Intent();
    String image = i.getExtras().getString("image");
    
    switch(image){
     case "imageview1": 
     //display imageview 1
     break;
     case "imageview2":
     //display imageview 2
     break;
    }
    

答案 1 :(得分:0)

您可能按intent开始活动,您可以通过putExtra()方法在意图中使用图像资源ID,在第二个活动中,您可以通过调用getIntent()方法获得开始意图并通过调用获取它getExtra()方法

答案 2 :(得分:0)

如果图像仅来自资源,请使用资源ID显示第二个活动。

我的意思是,第一个活动,您设置资源ID,具体取决于点击image1或image2:

Intent intent = new Intent(this, SecondActivity.class);

if (click image1) {
    intent.putExtra("IMAGE_TO_SHOW", R.mipmap.ic_launcher1);
} else {
    intent.putExtra("IMAGE_TO_SHOW", R.mipmap.ic_launcher2);
}

startActivity(intent);

在第二个活动中,只需获取id并输入新的ImageView:

Intent intent = getIntent();
int imageResource = intent.getIntExtra("IMAGE_TO_SHOW", R.mipmap.ic_launcher1);
imageViewOnActivity2.setImageResource(imageResource);