android中的setImageresource - 如何在循环中将它用于许多图片

时间:2012-08-27 18:26:02

标签: java android

这是一个相当简单的问题。我在drawable文件夹中有5个imageView和5个图像。 ImageViews的名称为imageView1 ... imageView5,图片名为image1 ... image5

我想如何优雅地写出以下内容:

  imageView1.setImageResource(R.drawable.image1)
  imageView2.setImageResource(R.drawable.image2)
  imageView3.setImageResource(R.drawable.image3)
  imageView4.setImageResource(R.drawable.image4)
  imageView5.setImageresource(R.drawable.image5)

如您所知,不仅有5个imageView,但还有更多,我想在循环中编写它。我遇到了问题,因为R.drawable.imageX是整数而不是字符串。

1 个答案:

答案 0 :(得分:1)

 //Declaration 

 private int[] tabDrawables = new int[] {
                    R.drawable.image1,R.drawable.image2,
                    R.drawable.image3, R.drawable.image4,
                    R.drawable.image5};



     private ArrayList<ImageView> listImages = new ArrayList<ImageView>();


    //When you find your images on the onCreate method
    //add all images here

    listImages.add(imageView1);
    listImages.add(imageView2);
        ...

    for (int i = 0; i < tabDrawables.length; i++) {
         listImages.get(i).setImageResource(tabDrawables[i]);
}