动态更改按钮上的ImageView

5
在我的应用中,我有一个按钮和ImageView。当我按下按钮时,我想要改变ImageView的图片。在我的drawable文件夹中有5张图片。每次按下按钮时,ImageView会根据点击顺序逐个更换图片。我需要解决这个问题。感谢任何能提供帮助的人。

你有任何代码吗? - A.S.
2个回答

4

维护一个图像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;
 }
 });

欢迎您。请注意,您需要根据自己的需求编辑“else”部分。 - Nizam

4

正如@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));
    }
});

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接