安排对方法的调用?

时间:2012-06-24 19:26:05

标签: java android

  

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

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

3 个答案:

答案 0 :(得分:2)

创建一个处理程序并在runnable上执行postDelayed()。查看documentation for Handler

Handler handler = new Handler();
final Runnable r = new Runnable()
{
    public void run() 
    {
        doThis(myVar2);.
    }
};
...
...
handler.postDelayed(r, 1000);

答案 1 :(得分:2)

使用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();
       }

答案 2 :(得分:1)

在桌面GUI应用程序中,我会使用Swing API中的javax.swing.Timer。也许Android API有类似的东西?当然,imran khan上面的Thread示例基本上是相同的。