如何用TimerTask实现自动更新多个UI界面?
在单独的一个UI界面中,利用Timer更新没有问题,使用Handler的Message或者runOnUiThread(new Runnable()来实现就可以了。
现在遇到的问题是,如何利用Timer来实现自动更新多个UI界面的问题。
1:在每个界面设置Timer可以实现更新。但每个界面的Timer并不会随着界面的切换而停止;
2:更难受的是,在界面的多次切换过程中,会多次执行mTimer.schedule(task, 2000, 2000);这个命令。导致一个页面中就建立了多个Timer线程,结果就是画面更新越来越快。基本上是切换一次就增加一个线程。这个问题如何解决呢?
而且,我发觉mTimer.schedule(task, 2000, 2000);——这个命令的前后,是不能用if语句的,否则不会执行这个命令。
在界面的切换过程中,我想关闭前一个界面的Timer,使用mTimer.cancel();命令。但程序会闪退。
现在看来,如果能让Timer独立与界面之外,才能解决这个问题。如何才能独立于界面之外呢?
另外使用startActivity(intent);命令切换界面,是重新执行下一个界面的onCreate吗?
谢谢各位