图像视图图像需要在android中定期更改

时间:2014-02-01 05:32:25

标签: android image imageview

我有一个图像视图。所以在图像视图中我想在一段时间后更改图像。图像来自数组列表。现在当图像的数量是3或大于3时,它是完美的。但是当它是2时,我的逻辑不起作用。第二张图片暂时可见,然后再次更改为第一张图片,这是我的代码:

r = new Runnable(){
        int i = 0;
        public void run(){
            iv.setImageBitmap(alBmps.get(i));
                i++;                
                if(i >= alBmps.size()){
                     i = 0;
                 }

             iv.postDelayed(r, 5000); //set to go off again in 5 seconds.
         }
    };
    iv.postDelayed(r, 1000);

任何人都可以帮助我对上述代码进行哪些更改吗?

感谢。

1 个答案:

答案 0 :(得分:0)

试试这个

声明变量

static int i=0; 
private Timer myTimer;

在onCreate或on按钮上单击要调用的位置并启动方法

myTimer = new Timer();

myTimer.schedule(new TimerTask() 
{           
    @Override
    public void run() 
    {   
        TimerMethod();
    }
}, 500, 5000);

将这些方法添加到您的班级

private void TimerMethod()
{
    this.runOnUiThread(Timer_Tick);
}

private Runnable Timer_Tick = new Runnable() 
{
    public void run()
    {
       if(i<alBmps.size())
       {
           iv.setImageBitmap(alBmps.get(i));
       }
       else
       {
           i=0;
           iv.setImageBitmap(alBmps.get(i));
       }   
       i++;
     }
};