2012-10-22 69 views
0

我有一個應用程序,測試變量是否爲null。如果它是空的,我顯示一個對話框,設置變量。問題在於活動在框顯示時繼續執行。我希望我的活動掛起並等待對話框的結果,然後繼續。我該如何實現這個目標?如何暫停對話框的結果的活動

if(nfcscannerapplication.getCompId() == null || 
            nfcscannerapplication.getCompId().trim().equalsIgnoreCase("null")){ 
      Log.e(TAG, "compid null***********"); 
      showPasswordDialogBox(); 



     }else{ 

      Log.e(TAG, "compid not null***********"); 
      String[] paramsCompOpt = new String[]{nfcscannerapplication.getCompId()}; 
      AsyncGetCompanyOptions agco = new AsyncGetCompanyOptions(); 
      agco.execute(paramsCompOpt); 

     } 

回答

1

嘗試類似:

preMethod() { 
     // Your actual code... 
     if(nfcscannerapplication.getCompId() == null || nfcscannerapplication.getCompId().trim().equalsIgnoreCase("null")){ 
        Log.e(TAG, "compid null***********"); 


       // Call postMethod() once the variable is set in the Dialog box** 
       showPasswordDialogBox(); 

      } else{ 

       Log.e(TAG, "compid not null***********"); 
       String[] paramsCompOpt = new String[]{nfcscannerapplication.getCompId()}; 
       AsyncGetCompanyOptions agco = new AsyncGetCompanyOptions(); 
       agco.execute(paramsCompOpt); 

       postMethod();  
      } 
} 

postMethod() { 
    // Code to execute when the variable is set 
... 
} 
0

你可以把需要的私有方法要設置的變量的代碼。然後,如果變量已正確初始化,則調用該方法。或者如果沒有正確初始化,則顯示對話框並在關閉處理程序中調用私有方法。