2013-07-05 60 views
0

我剛剛玩Google地圖方向,在我的例子中,我剛剛使用列表視圖,在該列表視圖從異步調用(從硬編碼數據)獲取數據。列表視圖包含地址列表,如果點擊列表項目後,列表視圖中的單個地址上的任何一個觸摸將使用以下代碼導航到Android手機的Google地圖GPS。Android - 如何從激活的意圖回來後停止異步調用?

Intent i = new Intent(android.content.Intent.ACTION_VIEW, Uri.parse("http://maps.google.com/maps?saddr=" + "" + "&daddr=" + saddr)); 
startActivity(i); 

但問題是,我看到谷歌地圖的方向後,如果單擊後退按鈕其返回到我的列表視圖的活動,而異步調用始終運行它不會停止.....如何制止這種一個..我在

protected void onPostExecute(Exception ex) { 

     if (progressDialog.isShowing()){ 
      progressDialog.dismiss(); 
     } 
     if(isCancelled()){ 
      progressDialog.dismiss(); 

      } 
     } 

    } 

使用progressDialog.dismiss();同時,我在

@Override 
    protected void onCancelled(){ 
     progressDialog.dismiss(); 

    } 

我已經打電話progressDialog在

使用
protected void onPreExecute() { 
     // display progress dialog while data is being loaded  
     progressDialog = ProgressDialog.show(context,  
       "Please wait...", prompt, true);  
    } 

請幫我...

+0

試圖拒絕進度對話框調用startActivity(I)之後,因爲你不啃老族ID了。 –

回答

0

嗨夥計們,我知道了。在protected void onCancelled()我剛纔叫喜歡這類型...

@Override 
    protected void onCancelled(){ 

     if (progressDialog.isShowing()){ 
      progressDialog.dismiss(); 
     } 

    } 
1

駁回ProgressDialog不會停止你的AsyncTask。使用public final boolean cancel (boolean mayInterruptIfRunning)方法來停止您的任務。

更多的相關信息在謝謝您的回答Android Reference

+0

同時檢查您的AsyncTask中的取消標誌。您可以通過'isCancelled()'來執行此操作。 – RvdK

+0

@Alex Vogel最終方法不能被覆蓋。我如何使用這個.. –

+0

@RvdK我已經在onPostExecute()方法中使用'isCancelled()'.. –