程序的drawable文件夾中有5個 imageViews和5個images。 ImageViews的名稱是imageView1...imageView5 ,images的名稱是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個 imageViews,有很多的imageViews,我想在一個循環語句中執行,現在的問題是R.drawable.imageX是一個整型而不是一個字符串。
可以使用Java裡的反射技術來實現:
int imgID = 0;
int imgViewID = 0;
for(int i = 1; i <=5; i++)
{
try
{
imgID = R.drawable.class.getField( "image" + i ).getInt(new R.drawable());
imgViewID = R.id.class.getField( "imageView" + i ).getInt(new R.id());
((ImageView)findViewById(imgViewID)).setImageResource(imgID);
}
catch (Exception e)
{
e.printStackTrace();
}
}