更改图像资源

时间:2018-11-01 10:09:26

标签: android android-layout android-imageview

当我单击按钮时,我想将图像视图更改为另一张图片,等待3秒钟,然后再次将其更改为另一张图片(无需再次单击)。

  

1单击->更改图片->等待3秒钟->更改图片。

这是我的代码:

northLight.setImageResource(R.drawable.red_and_yellow);

try {
     TimeUnit.MILLISECONDS.sleep(3000);
} catch (InterruptedException e) {}

northLight.setImageResource(R.drawable.green);

在运行程序时,当我实际单击按钮时,程序将忽略第一个setImage并将其直接更改为第二个setImage(变为绿色)。

我该如何解决?

3 个答案:

答案 0 :(得分:1)

您可以使用处理程序

northLight.setImageResource(R.drawable.red_and_yellow);
new Handler().postDelayed(new Runnable() {
public void run() {
 // Actions to do after 3 seconds
         northLight.setImageResource(R.drawable.green);
}
}, 3000);

答案 1 :(得分:0)

您可以尝试使用Handler等待并更改图像。单击按钮后,更改图像并延迟3秒运行处理程序。

//Call this method when your button is clicked
public void changeImage() {
    northLight.setImageResource(R.drawable.red_and_yellow);

    Handler handler = new Handler();
    handler.postDelayed(new Runnable() {
        @Override
        public void run() {
            northLight.setImageResource(R.drawable.green);
        }
    }, 3000);
}

答案 2 :(得分:0)

尝试此代码

new CountDownTimer(3000,1000){
  @Override
  public void onTick(long l) {
    northLight.setImageResource(R.drawable.red_and_yellow);
  }
  @Override
  public void onFinish() {
    northLight.setImageResource(R.drawable.green);
  }
}.start();