2010-09-03 69 views
1

Android proggraming中使用的Handler是什麼?我們如何使用它們來關閉ProgressDialog?Android中的處理程序

我從網上引用了一些東西,但沒有發現它們很有說服力。與Handler一起解除ProgressDialog的例子將是一件好事。

感謝, 大衛

回答

5

使用的AsyncTask代替。它有一個名爲onPostExecute的函數,您可以在其中取消進度對話框。

@Override 
    protected void onPostExecute(Void result) { 
     Toast.makeText(ctx, "Completed Synch with Server", Toast.LENGTH_SHORT) 
       .show(); 

       mProgressDialog.dismiss(); 

    } 

處理程序用於在預定時間運行一小段代碼。通常,一個使用AlarmManager推出意圖(活動,服務,廣播),但如果你有興趣在只運行的代碼,你可以使用處理一小部分:

if(condition == true){ 

    Handler timer = new Handler(); 
    timer.postDelayed(task, (5 * 60 * 1000); 
} 

--- 

     private Runnable task = new Runnable() { 
     public void run() { 
      mProgressDialog.dismiss(); 
     } 
    }; 

我強烈建議使用任何一個的AsyncTask線程在Android上相關。

-1

處理程序用於UI和後臺線程之間的通信。基本上,Handler會將消息和可運行的消息發送到線程的消息隊列中。