解决Android中Can't create handle inside thread问题
解决Android中Can't create handle inside thread问题
解决Android中Can't create handle inside thread问题,在
- new Thread()
- {
- public void run()
- {
- .....
- }
- }.start();
- private void showStatusDialogThread() {
- mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- if (status != null) {
- if (status.equals(SyncStatus.Success)) {
- // 更新本地保存的lastSyncTime为当前时间
- UpdateLocalLastSyncTime(System.currentTimeMillis());
- }
- showStatusDialog(status);
- mHandler.removeCallbacks(mRunnable);
- }
- super.handleMessage(msg);
- }
- };
- mRunnable = new Runnable() {
- @Override
- public void run() {
- mHandler.postDelayed(this, 100);
- Message message = new Message();
- mHandler.sendMessage(message);
- }
- };
- mHandler.post(mRunnable);
- }
- showStatusDialog(status);
这种发送message的方式模型如下
- {
- mHandler = new Handler() {
- @Override
- public void handleMessage(Message msg) {
- //执行的具体方法,例如创建Dialog,计数等
- super.handleMessage(msg);
- }
- };
- mRunnable = new Runnable() {
- @Override
- public void run() {
- //设置延迟时间间隔
- mHandler.postDelayed(this, 100);
- Message message = new Message();
- mHandler.sendMessage(message);
- }
- };
- mHandler.post(mRunnable);
- }
- mHandler.removeCallbacks(mRunnable);
其实这里发送message也是一种线程,相当于一个定时触发某一事件一样。
评论暂时关闭