2011-04-12 64 views
0

我有我的應用程序登錄自定義對話框。我還添加了進度條並隱藏。當用戶點擊'按鈕時,我調用AsyncTask來處理http登錄。我從AsyncTask控制進度條。所有看起來不錯,但AsyncTask運行 - 對話框完全響應。我可以更改字段,我可以點擊按鈕等。我看到3個選項:自定義對話框 - 登錄 - 我想要「模態」進度條

  1. 在運行asynctask之前,我將禁用所有控件。但是我怎麼知道什麼時候結束?有我可以使用的回調嗎?

  2. 製作登錄窗口活動,並顯示進度對話框。

請讓我知道什麼是處理這種情況

有道這裏是異步任務。我試圖使它通用在這裏我通過URL和身體,並返回HTTP響應:

private class RESTService extends AsyncTask<String, Integer, String> 
    { 
     //TODO: Add text to progress bar and add custom artwork 
     ProgressBar progress; 
     Dialog dialog; 
     Activity activity; 

     public RESTService(ProgressBar p, Dialog d, Activity a) 
     { 
      progress = p; 
     } 
     @Override 
     protected String doInBackground(String... stuff) 
     { 
      String url = stuff[0]; 
      String post = stuff[1]; 

      try 
      { 
       Thread.sleep(15000); 
      } catch (InterruptedException e) 
      { 
       e.printStackTrace(); 
      } 

      return "done"; 
     } 

     @Override 
     protected void onPreExecute() 
     { 
      super.onPreExecute(); 

      if (dialog != null) 
      { 

      } 

      if (progress != null) 
      { 
       progress.setVisibility(View.VISIBLE); 

      } 
     } 

     @Override 
     protected void onPostExecute(String s) 
     { 
      super.onPostExecute(s); 

      if (progress != null) 
      { 
       progress.setVisibility(View.GONE); 
      } 
     } 
    } 

回答

0

我最終什麼事做 - 啪AlertDialog,創建的AsyncTask偵聽器接口和任務完成調用父調用者。