在我的应用中,我有一个按钮和ImageView。当我按下按钮时,我想要改变ImageView的图片。在我的drawable文件夹中有5张图片。每次按下按钮时,ImageView会根据点击顺序逐个更换图片。我需要解决这个问题。感谢任何能提供帮助的人。
维护一个图像id的数组,在onClick内使用数组中的id设置图像,然后递增索引。
例如:
ArrayList<Integer> ids=new ArrayList<Integer>();
ids.add(R.drawable.image1);
ids.add(R.drawable.image2);
ids.add(R.drawable.image3);
ids.add(R.drawable.image4);
ids.add(R.drawable.image5);
Int index=0
b.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
if(index<ids.size()){
imageview.setImageResource(ids.get(index));
index++;
}
else index=0;
}
});
正如@Nizam所说,只需维护一个id数组,然后在onClick()中动态加载图像。不要使用随机数,而是使用字段变量并递增它。注意数组的长度!
final int[] ids = new int[] { R.drawable.img1, R.drawable.img2 };
findViewById(R.id.button).setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
int randomId = new Random().nextInt(ids.length);
ImageView imageView = (ImageView) findViewById(R.id.imageview);
imageView.setImageDrawable(getResources().getDrawable(randomId));
}
});