【问题标题】:Change imageview depending on which imageview clicked before根据之前单击的图像视图更改图像视图
【发布时间】:2016-12-20 00:53:51
【问题描述】:

在我的主要活动中,我得到了 2 个图像视图(imageview1 和 imageview2)。如果我单击其中一个,它将开始一项新活动。在新活动中,我还得到了一个 imageview。我希望它更改为我持有的图像视图。

我知道我可以更改图像视图

imageView.setImageResource(R.mipmap.ic_launcher);

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

    imageView.setImageResource(imageview1);

如果我持有 imageview2

    imageView.setImageResource(imageview2);

但我不知道该怎么做。

【问题讨论】:

    标签: android android-activity imageview


    【解决方案1】:

    你可以这样做

    1. 当单击 imageview 1 并启动 Intent 时,将值发送到下一个活动

      例如

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

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

    【讨论】:

    • 为什么不在intent中设置图片的id?
    • @danypata 你能详细说明一下吗?
    • 他正在显示来自资源的图像,因此这些图像有一个 id,它是一个 int :) 所以我想只是通过捆绑发送那个 id :)
    【解决方案2】:

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

    【讨论】:

      【解决方案3】:

      如果图像只是来自资源,则使用资源 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);
      

      【讨论】:

      • 我如何定义“点击 image1”?
      • 这取决于您如何处理点击。我提到当点击image1时,输入image1的resource id,当点击image2时,输入image2的resource id
      猜你喜欢
      • 2015-06-10
      • 1970-01-01
      • 2011-08-07
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2014-10-08
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多