Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/image/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在应用程序运行时更改图像?_Android_Image_Button_Imageview_Onclicklistener - Fatal编程技术网

Android 在应用程序运行时更改图像?

Android 在应用程序运行时更改图像?,android,image,button,imageview,onclicklistener,Android,Image,Button,Imageview,Onclicklistener,每次按下按钮时,我都会更改图像视图背景。我尝试将setBackGround切换到setImageResource,但它使我将imageview更改为常量。我不知道将imageview设置为常量是否有帮助,或者是否有其他方法可以做到这一点 这就是我目前所拥有的 ImageView img = (ImageView) findViewById(R.id.imageView1); Button button = (Button) findViewById(R.id.dummy_button);

每次按下
按钮
时,我都会更改
图像视图
背景。我尝试将
setBackGround
切换到
setImageResource
,但它使我将imageview更改为常量。我不知道将imageview设置为常量是否有帮助,或者是否有其他方法可以做到这一点

这就是我目前所拥有的

ImageView img = (ImageView) findViewById(R.id.imageView1);
    Button button = (Button) findViewById(R.id.dummy_button);
    button.setOnClickListener(new OnClickListener(){
        @Override
        public void onClick(View v) {

            img.setImageResource(R.drawable.ic_launcher);
        }
    });

请改用setImageResource:

img.setImageResource(R.drawable.drawablename);
要每次更改图像,请执行以下操作:

首先声明一个ImageID数组

public Integer[] imageIds = {
        R.drawable.image1, R.drawable.image2,
        R.drawable.image3 
};
然后使用onClick方法

    int i = 0;
    img.setImageResource(imageIds[i]);
    i = i+1;
这样,当您第一次单击它时,它将获得项目1,然后我将成为1。第二次按下时,图像将变为第二个图像,而i将变为2。如果你想每次都得到一个随机的。您需要声明一个随机变量。

尝试以下操作:

Button button = (Button) findViewById(R.id.dummy_button);
button.setOnClickListener(new OnClickListener(){
 @Override
    public void onClick(View v) {
    ImageView img = (ImageView) findViewById(R.id.imageView1);
    img.setImageResource(R.drawable.ic_launcher);
    }
});