【问题标题】:How to get view (ImageView ) using id in android如何在android中使用id获取视图(ImageView)
【发布时间】:2013-12-06 06:39:20
【问题描述】:

更新

我知道我可以使用数组或列表,但我想使用一种有效的方法而不使用数组或集合,感谢大家 特别感谢 mussharapp

嗨,我想使用 Imageview 的 id 访问它 例如,我有一个使用循环创建的图像视图,例如

for(int i=1;i<10;i++) { 
      Imageview mv=new ImageView(this);
        mv.setid(i); 
       // and so on for image properties 
             }

现在我想获取我在循环中创建的所有图像如何获取这些图像有什么方法可以使用 id 或其他东西???

我面临同样的问题

【问题讨论】:

  • 您是否将这些图像视图添加到任何布局或其他东西中???
  • List&lt;ImageView&gt;怎么样?
  • 我正在使用'ImageView imageView = (ImageView) inflate.inflate(R.layout.ani_image_view, null);'创建图像视图
  • 每次imageview drawlabe在一段时间后改变现在我想访问旧图像如何获取
  • @NoamanAkram 请更新您的问题并清楚详细地描述您在做什么以及您想要什么..

标签: android android-layout view imageview android-imageview


【解决方案1】:

声明一个private数组列表:

private ArrayList<Imageview> images = new ArrayList<Imageview>();

然后将所有视图存储到该列表中:

for(int i=1;i<10;i++) { 
    Imageview mv=new ImageView(this);
    mv.setid(i); 
    // and so on for image properties
    images.add(mv); 
}

最后,你可以根据位置/id(因为position == id)获取它们:

ImageView imageView = images.get(position);

完成后记得清除列表或onDestroy()

images.clear();

【讨论】:

    【解决方案2】:

    鉴于您确定图像视图 ID 是唯一的,您可以执行类似的操作

    //Your code
    for(int i=1;i<10;i++) { 
          Imageview mv=new ImageView(this);
            mv.setid(i); 
           // and so on for image properties 
                 }
    
    //...
    List<Drawable> drawables = new ArrayList<Drawable>();
    for (int i = 1; i < 10; i++) {
        ImageView mv = (ImageView) findViewById(i);
        drawables.add(mv.getDrawable());
    }
    

    不确定您尝试做的事情是否有效。他们提到的其他建议可能会更好。

    【讨论】:

      【解决方案3】:

      首先您必须设置图像数组及其路径,然后您才能使用它...

      【讨论】:

        【解决方案4】:

        您可以保留一组 ImageView。

        ImageView[] mImageViews = new ImageView[10];
                for(int i=1;i<10;i++) { 
                    mImageViews[i] = new ImageView(this); 
                }
        

        并像 mImageViews[2] 或 mImageViews[5] 访问这些

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 2016-04-02
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多