Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/203.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 整理不同的处理程序_Android_Handler_Postdelayed - Fatal编程技术网

Android 整理不同的处理程序

Android 整理不同的处理程序,android,handler,postdelayed,Android,Handler,Postdelayed,总之,我想创建多个根据用户选择触发的处理程序,但是这个处理程序实现相同的runnable方法。唯一的区别是它们调用不同的postdayed()方法。如何在不为runnable重写相同代码的情况下实现这一点 我仍然不清楚handleMessages()是如何工作的,以及它是否可以用于此目的?。。谢谢使用处理程序并在其周围使用开关盒。通过向处理程序发送消息来更新视图 Handler Handlerobject; Handlerobject= new Handler() { public voi

总之,我想创建多个根据用户选择触发的处理程序,但是这个处理程序实现相同的runnable方法。唯一的区别是它们调用不同的postdayed()方法。如何在不为runnable重写相同代码的情况下实现这一点


我仍然不清楚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()方法调用以消息的形式出现,还是我缺少了这个概念?Thank once againHandler是一种用于更新视图的轻量级方法。一旦超出主线程,就需要使用这些方法来更新UI。请注意,这些方法在主线程上运行,因此请使它们保持轻量级,以增加执行时间。上述方法使用单个处理程序对象,但您可以在多个情况下添加以更新UI。您可以在sendEmptyMessage()中传递一个参数来执行此操作。