在android imageview中更改图像1秒钟

在android imageview中更改图像1秒钟,android,android-imageview,Android,Android Imageview,我正在尝试在1秒后更改图像以查看图像。但它不会在屏幕上显示任何图像。下面是代码。请帮忙。谢谢 代码- 如何检查资源映像并对其进行更改?这是因为您将System.currentTimeMillis()作为延迟。 尝试将其替换为0,因为时间应在0毫秒后开始。使用处理程序而不是计时器 Handler handler = new Handler(); Runnable changeImage = new Runnable(){ @Override public void run(){

我正在尝试在1秒后更改图像以查看图像。但它不会在屏幕上显示任何图像。下面是代码。请帮忙。谢谢

代码-


如何检查资源映像并对其进行更改?这是因为您将System.currentTimeMillis()作为延迟。
尝试将其替换为0,因为时间应在0毫秒后开始。

使用处理程序而不是计时器

Handler handler = new Handler();

Runnable changeImage = new Runnable(){

    @Override
    public void run(){
        if(flag>1)
           handler.removeCallbacks(changeImage);
        else{
           iv.setImageResource(v[flag++]);
           handler.postDelayed(changeImage, 1000);
        }
    }

};
从oncreate()开始第一次


您从未初始化变量
标志
.int标志;与int flag=0相同;当声明实例变量时。这是错误的,如果他会执行scheduleAtFixedRate,那么您就是对的!Timer类的所有调度方法都有一个日期作为计时器应该启动的时间,或者有一个长的延迟。而currentTimeMillis()返回一个long@user1669172它现在正在工作..但在那之后它给出了异常arrayindexoutofboundexception
Handler handler = new Handler();

Runnable changeImage = new Runnable(){

    @Override
    public void run(){
        if(flag>1)
           handler.removeCallbacks(changeImage);
        else{
           iv.setImageResource(v[flag++]);
           handler.postDelayed(changeImage, 1000);
        }
    }

};
public void onCreate(Bundle b){

    handler.postDelayed(changeImage, 1000);
}
timer.scheduleAtFixedRate(new TimerTask() {

     public void run() {
             runOnUiThread(new Runnable() {

                 public void run() {
                     flag++;
                      if (flag > 1) {
                          timer.cancel();
                          timer = null;
                      } 
                      else
                          iv.setImageResource(v[flag]);
                     }
                 });

             }
         }, 1000, 1000); // wait 1 second before start.. then repeat every second..