2010-11-02 44 views
0

所有,我想創建多個處理程序,根據用戶選擇觸發,但此處理程序實現相同的可運行方法。唯一的區別是他們調用不同的postDelayed()方法。如何在不重寫runnable的相同代碼的情況下實現這一目標?整理不同的處理程序android

我仍然不清楚如何handleMessages()的作品,如果它可以被用於此?..謝謝

回答

1

使用處理和使用開關的情況下在其周圍。通過向您的處理程序發送消息更新視圖

Handler Handlerobject; 

Handlerobject= new Handler() 
{ 
    public void handleMessage(Message msg) { 

    switch(msg.what) 
    { 
    case 1: 
    // Your code to update the UI 

    break; 

    case 2: 
    // Your code to update the UI 
    break;   
    }   
}}; 

Handlerobject.sendEmptyMessage(1) or sendEmptyMessageDelayed 
+0

感謝您的回覆。從你的代碼,這是否意味着從不同的處理程序調用postDelayed()方法,作爲消息進來還是缺少概念?再次感謝 – irobotxxx 2010-11-02 14:41:13

+0

Handler是用於更新視圖的輕重量方法。一旦你在主線程之外,你需要使用這些方法來更新UI。請注意,這些方法在主線程上運行,以便讓它們保持輕微以增加執行時間。上述方法使用一個Handler對象,但可以添加多個用於更新UI的對象。你可以在sendEmptyMessage()中傳遞一個參數來做到這一點。 – DeRagan 2010-11-02 15:17:31