昨天犯了一个低级的错误,在TimerTask任务里执行activity跳转,导致activity切入动画无效。查阅相关资料,有以下两种方法更新UI
TimerTask 更新UI线程
1.交由UI Thread处理
1 2 3 4 5 6 7 8 9
| TimerTask task = new TimerTask(){ public void run() { runOnUiThread(new Runnable(){ @Override public void run() { // 执行ui更新 }}); } };
|
2.由Handler处理UI 更新。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| TimerTask task = new TimerTask(){ public void run() { Message message = new Message(); message.what = 1; handler.sendMessage(message); } }; Handler handler = new Handler(){ public void handleMessage(Message msg) { switch (msg.what) { case 1: // 执行ui更新 break; } super.handleMessage(msg); } };
|