2016-12-19 38 views
0

在我的主要活动中,我获得了2个图像(imageview1和imageview2)。如果我点击其中一个它开始一个新的活动。在新的活动中,我也有一个imageview。我希望它变成我持有的imageview。根据之前点击哪个imageview更改imageview

我知道我可以改变的ImageView与

imageView.setImageResource(R.mipmap.ic_launcher); 

如果我想在新的活动举行imageview1应该

imageView.setImageResource(imageview1); 

,如果我持有imageview2

imageView.setImageResource(imageview2); 

但我不知道该怎么做。

回答

0

你想在imageview中看到相同的图像吗?您点击哪个来打开新的活动?

请指定您的问题?

+0

是啊 我在新的活动中获得了imageview。我希望它将图像更改为imageview我点击打开它 –

+0

然后,在开始活动时传递您的意图图像,并在新的活动中获取图像。 –

0

你可以做这样的事情

  1. 当点击ImageView的1,当你开始你的意图的值发送到您的下一个活动

    例如

    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

为什么不在意图中设置图像的ID? – danypata

+0

@danypata你能详细阐述一下吗? –

+0

他从资源显示图像,因此这些图像有一个ID,这是一个int :)所以我想只是发送该ID通过捆绑:) – danypata

0

你可能通过intent你可以发在由putExtra()方法意图图像资源ID,并在第二个活动,你得到首发意图通过调用getIntent()方法开始活动,并通过调用getExtra()方法

0

如果图像是得到它只是从资源中,使用资源ID来显示第二个活动。

我的意思是,第一次活动,您将资源ID,这取决于在点击图像1或图像2:

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); 
+0

我如何定义“点击image1” ? –

+0

这取决于你如何处理点击。当我点击图片1时,把图片1的资源ID,当点击图片2时,把图片2的资源ID – adalPaRi