安排对方法的调用? [复制]

Posted

技术标签:

【中文标题】安排对方法的调用? [复制]【英文标题】:Schedule a call to a method? [duplicate] 【发布时间】:2012-06-26 04:32:11 【问题描述】:

可能重复:How to call a method after a delay

当用户点击一个按钮时,我想这样做(myVar1);。 1 秒后我想这样做(myVar2);。如何安排第二次通话?

【问题讨论】:

带有Timer 【参考方案1】:

在桌面 GUI 应用程序中,我会使用来自 Swing API 的javax.swing.Timer。也许android API有类似的东西?当然,上面 imran khan 的 Thread 示例本质上是一样的。

【讨论】:

【参考方案2】:

创建一个处理程序并在可运行对象上执行postDelayed()。检查documentation for Handler。

Handler handler = new Handler();
final Runnable r = new Runnable()

    public void run() 
    
        doThis(myVar2);.
    
;
...
...
handler.postDelayed(r, 1000);

【讨论】:

原帖并没有提到 Android。 发布时有Android标签。稍后编辑..查看编辑历史,,, @mergeconflict,现在又来了。【参考方案3】:

使用 Thread 尝试这种方式:

 btnbtnstart.setOnClickListener(new OnClickListener() 
    @Override
    public void onClick(View v) 
    // TODO Auto-generated method stub
        if(mthreadRunning==false)
        
            doThis(myVar1);
            mthreadRunning=true;
            dojobThread();
        
    
);

 public void dojobThread()
        Thread th=new Thread()
         @Override
         public void run()
          try
          
           while(mthreadRunning)
           
           Thread.sleep(100L);
           mthreadRunning=false;
           doThis(myVar2);//call doThis(myVar2); here after 1 second delay

           
          catch (InterruptedException e) 
            // TODO: handle exception
          
         
        ;
        th.start();
       

【讨论】:

以上是关于安排对方法的调用? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

Apollo:从 cron 作业调用突变服务器端? [复制]

如何按特定顺序对 .then() 调用进行排序? [复制]

如何对服务器进行 JavaScript 同步调用? [复制]

如何从工作线程中调用 UI 线程上的方法? [复制]

有没有一种干净的方法可以避免在嵌套的参数哈希中调用 nil 上的方法? [复制]

当有多个调用调用该方法时,一种锁定等待调用的方法? [复制]