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

时间:2014-01-04 21:07:46

标签: android image button imageview onclicklistener

每次按ImageView时,我都会更改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);
        }
    });

2 个答案:

答案 0 :(得分:0)

请尝试使用setImageResource:

img.setImageResource(R.drawable.drawablename);

每次更改图像:

首先声明一个imageIds数组

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.第二次按,图像将成为第二个,我将成为2.如果你想得到一个随机的每次。你需要声明一个随机。

答案 1 :(得分:0)

试试这个:

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);
    }
});