首页 > 解决方案 > android studio更改多个图像的背景图像

问题描述

我在可绘制文件夹中有 5 张图像(bg1、bg2、bg3、bg4、bg5),bg1 是我的默认背景。

我想更改背景的图像以便获取时间我单击按钮,当它到达最终图像时,它应该再次转到第一张图像,

例如,如果我点击按钮,它应该将 bg2 设置为背景,如果我再次点击它,它应该将 bg3 设置为背景,依此类推,

我尝试了以下代码,但它只更改了一次背景图像。

    button.setOnClickListener(new View.OnClickListener() {

        @Override
        public void onClick(View v) {
            // TODO Auto-generated method stub

            int x = 0;

            while(x < 5){

             x ++;
                // Give image name that you want to show on button click
                layout.setBackgroundResource(R.drawable.bg+x);

            }

        }
    });

标签: androidimage

解决方案


您必须设置x为全局变量。你设置x了函数,所以它总是0

int x = 0; //global variable in activity/fragment

...

button.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {
              x ++;
              x %= 5;
              if (x==0) layout.setBackgroundResource(R.drawable.bg1);
              else if (x==1) layout.setBackgroundResource(R.drawable.bg2);
              else if (x==2) layout.setBackgroundResource(R.drawable.bg3);
              else if (x==3) layout.setBackgroundResource(R.drawable.bg4);
              else layout.setBackgroundResource(R.drawable.bg5);
            }

        }
    });

推荐阅读