0

按下按钮后,我想关闭一个活动。但是,我想在关闭它之前等待几秒钟,因为用户必须阅读该活动上显示的一条短消息。我尝试在 onClick 事件中使用 Thread

try{
  Thread.sleep(2000);
      finish();  
   }
  catch(Exception e){}

但是,当我按下按钮时,整个对象都被冻结(例如,按钮保持按下状态)。

然后我用了一个简单的 Timer

timer.schedule(task(), 2000);

它似乎运作良好。在这种情况下使用 Timer 是否正确,还是应该使用 Thread 或其他东西?

4

2 回答 2

3
 new Handler().postDelayed(new Runnable() {

            @Override
            public void run() {
                Activity.this.finish();
            }
        }, 2000) ;
于 2013-01-22T12:31:48.017 回答
2

最简单的方法可能是使用 Handler

private Handler h = new Handler();

...

h.postDelayed(new Runnable() {
    @Override
    public void run() {
        finish();
    }
}, 2000);
于 2013-01-22T12:30:20.243 回答