【发布时间】:2016-11-23 02:46:36
【问题描述】:
我想在显示新的背景图像之前清除当前的背景图像。我也尝试过 setBackgroundResource(0) 和 setBackgroundColor(Color.TRANSPARENT) ,但它不起作用。
Java:
public void decideclick(){
decidebutton = (Button) findViewById(R.id.decideimg);
resultview = (ImageView) findViewById(R.id.imageView);
resultview2 = (ImageView) findViewById(R.id.imageView2);
decidebutton.setOnClickListener(new View.OnClickListener(){
@Override
public void onClick(View view) {
resultview.setBackgroundResource(0);
resultview2.setBackgroundColor(Color.TRANSPARENT);
SystemClock.sleep(2000);
if(player_choose == 5)
resultview.setBackgroundResource(R.drawable.abc);
else if(player_choose == 2)
resultview.setBackgroundResource(R.drawable.edf);
else if(player_choose == 0)
resultview.setBackgroundResource(R.drawable.ghi);
}
});
}
结果是当前的imageView和imageView2没有消失,2秒后新的图片出来了。为什么 setBackgroundResource(0) 不起作用?
【问题讨论】:
-
可以用这个吗?
view.setVisibility(View.GONE);和view.setVisibility(View.INVISIBLE); -
主线程不要休眠
-
tachyonflux,我不明白。为什么我不应该让线程休眠?
-
我改变了 resultview.setBackgroundResource(0);进入 resultview.setBackgroundResource(R.drawable.testing); testing.jpg 没有出来。所以,我认为问题来自 SystemClock.sleep(2000);但为什么我不应该让线程休眠?以及如何在 2 秒后新的图像出现之前清除当前图像?
标签: android