【问题标题】:Changing a Image while the app is running?在应用程序运行时更改图像?
【发布时间】:2014-01-22 11:41:34
【问题描述】:
我正在更改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);
}
});
【问题讨论】:
标签:
android
image
button
imageview
onclicklistener
【解决方案1】:
改用 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,然后i会变成1。第二次按下,图像会变成第二个,i会变成2。如果你想得到一个随机的每次。你需要声明一个 Random。
【解决方案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);
}
});