handler.postDelayed(myRunnable,1000);为什么会出现两次?
handler.postDelayed(myRunnable,1000);为什么会出现两次?
handler.postDelayed(myRunnable,1000);为什么会出现两次?
2015-01-04
@Override
public void run() {
index=0;
index++;
index = index % 5;
while(true){
imageView.setImageResource(imgint[index]);
try {
Thread.sleep(1000);
} catch (InterruptedException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
我简单的加了个循环 但是图片不显示,这是因为没在handler.postDelayed这里更新吗?或者说是没在线程里更新ui吗?
老师,我刚试了一下,的确那个时间参数的作用是延迟的作用,但是我在主线程把那个延迟的时间改成了5秒,结果运行后5秒后才能实现图片轮寻,这证明的确是延迟5秒后把Runnable对象加入到了MessageQueue中 然后在Runnable的run方法不停调用那个延迟操作 这样就看起来实现了定时功能,老师,我在主线程中handler.postDelayed(myRunnable,1000)这句代码后谢了一句Toast的方法,结果程序一运行,这个Toast就出来了,5秒后图片才能轮寻,这说明handler.postDelayed(myRunnable,1000)这个方法内部实现是怎么样的呢?是不是应当也是又开了一个线程,然后定时几秒后才把Runnable对象加入到MessageQueque中的啊 谢谢了 老师
举报