2010-11-02 94 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