如何管理大量的Android Imageview?

时间:2015-04-14 05:31:38

标签: android imageview

我的Activity中有20个ImageView。我需要一种方法来轻松管理它们。

我的代码现在就是这样:

Imageview img1 = (Imageview) findviewbyid(R.id.imageview1);
img1.setbackgroundresource(R.drawable.image1);

Imageview img2 = (Imageview) findviewbyid(R.id.imageview2);
img2.setbackgroundresource(R.drawable.image2);

Imageview img3 = (Imageview) findviewbyid(R.id.imageview3);
img3.setbackgroundresource(R.drawable.image3);
.
.
.

但我需要一种更简单的方法!

2 个答案:

答案 0 :(得分:0)

您可以使用所有资源创建一组ID:

int[] myIds = {R.id.imageview1, R.id.imageview2, R.id.imageview3, ...};
int[] myDrawables = {R.drawable.image1, R.drawable.image2, R.drawable.image3, ...};

然后使用for循环迭代它,同时,map函数(我知道这是Java 6 ...)。

for (int i = 0; i< myIds.length; i++) {
     Imageview img = (Imageview) findviewbyid(myIds[i]);
     img.setbackgroundresource(myDrawables[i]);
}

虽然最好将GridView / ListView与适配器一起使用

答案 1 :(得分:0)

似乎所有资源都没有动态定义。为什么不在xml中设置它们:

<ImageView
    android:id="@+id/imageview1"
    android:layout_width="wrap_content"
    android:layout_height="wrap_content"
    android:background="@drawable/image1"/>