这是一个相当简单的问题。我在drawable文件夹中有5个imageViews和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是整数而不是字符串。

最佳答案

 //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]);
}

10-08 18:11