最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Android中斷線程的處理方法

 更新時(shí)間:2014年11月11日 15:10:56   投稿:shichen2014  
這篇文章主要介紹了Android中斷線程的處理方法,涉及到線程的中斷、處理與返回等操作,具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

本文實(shí)例講述了Android中斷線程的處理方法。分享給大家供大家參考。具體方法如下:

我現(xiàn)在對一個(gè)用戶注冊的功能
1.用ProgressDialog將當(dāng)前頁面設(shè)成不可操作(保留返回鍵 退出ProgressDialog)
2.用一個(gè)線程clientThread執(zhí)行數(shù)據(jù)的提交和返回

問題:考慮到ProgressDialog運(yùn)行過程中,返回鍵的操作,應(yīng)該終止clientThread的運(yùn)行。

代碼如下,感興趣的朋友可以參考運(yùn)行一下,以便得出更好的解決辦法。

復(fù)制代碼 代碼如下:

btn_register.setOnClickListener(new View.OnClickListener() { 
         
        @Override 
        public void onClick(View v) { 
            // TODO Auto-generated method stub  
            if(doBeforeSubmit()){ 
     
                try { 
                    Log.v(TAG, "clientThread prepare01。。。:"+Thread.interrupted()); 
                    clienThread=new Thread(){ 
                        public void run() { 
                            try { 
                                Log.v(TAG, "clientThread prepare02。。。:"+Thread.interrupted()); 
                                while (!Thread.interrupted()) { 
                                    Log.v(TAG, "clientThread starting。。。"); 
                                    MeApiCall meApiCall=new MeApiCallImpl(); 
                                    Me me=new Me(); 
                                    me.setMeEmail(et_register_account.getText().toString().trim()); 
                                    me.setMePwd(et_register_pwd.getText().toString().trim()); 
                                    me.setMeName(et_register_nickName.getText().toString().trim());
                                    Log.v(TAG, "clientThread data loaded。。。");      
                                    meApiCall.register(me); 
                                    Log.v(TAG, "clientThread callback。。。"); 
                                    handler.sendEmptyMessage(AppConfig.Register.SUCCESS_MSG); 
                                   clienThread.interrupt();   //中斷線程  
                                } 
                            } catch (InterruptedException e) { 
                                // TODO: handle exception  
                                Log.v(TAG, "clientThread is interrupt"); 
                            }catch (Exception e) { 
                                // TODO Auto-generated catch block  
                                Log.v(TAG, "exception: "+e.getMessage()); 
                                handler.sendEmptyMessage(AppConfig.Register.FAIL_OTHER_MSG); 
                                e.printStackTrace(); 
                            } 
                        }; 
                    }; 
                    Log.v(TAG, "progressDialog prepare01。。。:"); 
                    progressDialog=ProgressDialog.show(Register.this,  
         "",  
         "正在獲取....",  
         true,  
         true, 
         new DialogInterface.OnCancelListener() { 
    
   @Override 
   public void onCancel(DialogInterface dialog) { 
       // TODO Auto-generated method stub  
        
    try { 
        clienThread.interrupt(); 
        Log.v(TAG, "interrupt is success!"); 
    } catch (Exception e) { 
        // TODO Auto-generated catch block  
        Log.v(TAG, "interrupt is fail!"); 
        e.printStackTrace(); 
    } 
   } 
      } 
        ); 
                    Log.v(TAG, "clientThread prepareing_end。。。"); 
                    clienThread.start(); 
                    //Log.v(TAG, "clientThread prepareing_end。。。");  
                } catch (Exception e) { 
                    // TODO Auto-generated catch block  
                    Log.v(TAG, e.getMessage()+" 00"); 
                    e.printStackTrace(); 
                } 
            } 
        } 
    }); 

希望本文所述對大家的Android程序設(shè)計(jì)有所幫助。

相關(guān)文章

最新評論

安平县| 图们市| 安西县| 万年县| 哈密市| 富平县| 荣昌县| 威信县| 蒲城县| 额敏县| 崇州市| 齐河县| 娄烦县| 罗江县| 绍兴县| 花莲县| 临澧县| 金寨县| 磐石市| 洪雅县| 哈尔滨市| 崇礼县| 儋州市| 阿城市| 曲水县| 洪湖市| 中西区| 临泉县| 崇信县| 鄱阳县| 吉隆县| 平度市| 彰化市| 法库县| 海阳市| 临夏市| 临汾市| 嵊州市| 安陆市| 方山县| 垦利县|