这是我的下面的代码。

for(int k=1 ; k<=1000; k++)
{
    if((k%2)==0)
        i.setImageResource(R.drawable.barbie2);
    else
        i.setImageResource(R.drawable.barbie3);

    try {
        Thread.sleep(1000);
    } catch(InterruptedException e) {
    }
}


我想每1秒交换两个图像而不锁定UI。
如何在android中做到这一点,请帮帮我。

最佳答案

通过这种方式在单独的线程中执行此操作:

    new Thread(new Runnable() {
        @Override
        public void run() {
            for(int k=1 ; k<=1000; k++)
            {
                if((k%2)==0)
                    i.post(new Runnable() {
                        @Override
                        public void run() {
                            i.setImageResource(R.drawable.barbie2);
                        }
                    });

                else
                    i.post(new Runnable() {
                        @Override
                        public void run() {
                            i.setImageResource(R.drawable.barbie3);
                        }
                    });


                try {
                    Thread.sleep(1000);
                    } catch(InterruptedException e) {
                    }
            }
        }
    }).start();


如果可能,将图像i定义为final

08-17 09:21