0
所有,我想創建多個處理程序,根據用戶選擇觸發,但此處理程序實現相同的可運行方法。唯一的區別是他們調用不同的postDelayed()方法。如何在不重寫runnable的相同代碼的情況下實現這一目標?整理不同的處理程序android
我仍然不清楚如何handleMessages()的作品,如果它可以被用於此?..謝謝
所有,我想創建多個處理程序,根據用戶選擇觸發,但此處理程序實現相同的可運行方法。唯一的區別是他們調用不同的postDelayed()方法。如何在不重寫runnable的相同代碼的情況下實現這一目標?整理不同的處理程序android
我仍然不清楚如何handleMessages()的作品,如果它可以被用於此?..謝謝
使用處理和使用開關的情況下在其周圍。通過向您的處理程序發送消息更新視圖
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
感謝您的回覆。從你的代碼,這是否意味着從不同的處理程序調用postDelayed()方法,作爲消息進來還是缺少概念?再次感謝 – irobotxxx 2010-11-02 14:41:13
Handler是用於更新視圖的輕重量方法。一旦你在主線程之外,你需要使用這些方法來更新UI。請注意,這些方法在主線程上運行,以便讓它們保持輕微以增加執行時間。上述方法使用一個Handler對象,但可以添加多個用於更新UI的對象。你可以在sendEmptyMessage()中傳遞一個參數來做到這一點。 – DeRagan 2010-11-02 15:17:31