解决Android中Can't create handle inside thread问题

解决Android中Can't create handle inside thread问题,在

new Thread()   {       public void run()       {                .....        }   }.start();  

如果在里面创建一个Dialog的话会出现这样的错误,所以改用message形式的

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(this100);                   Message message = new Message();                   mHandler.sendMessage(message);               }           };           mHandler.post(mRunnable);       }  

其中

showStatusDialog(status);  

是定义Dialog的方法。

这种发送message的方式模型如下

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/wyspsg.html