如何在android中调用下一个方法之前插入睡眠/暂停?

时间:2017-01-18 19:37:57

标签: android

在Android应用程序中,我有一个布局,当用户按下按钮时,会显示不同的布局(在同一个活动中)。但是为了立即显示不同的布局,我想稍微延迟(约0.5秒)。如何在Android中做到最好?

在python中你只需time.sleep(0.5),但我已经看过已经打过几十行代码来做同样的事情。如何使用最简单的方法

3 个答案:

答案 0 :(得分:3)

public void onClick(View v) {
  v.postDelayed(new Runnable() {
    public void run() {
      // do your delayed work
    }
  }, DELAY_PERIOD);
}

其中DELAY_PERIOD是延迟时间(以毫秒为单位)。这里,onClick()位于OnClickListener实现中,或者是布局中android:onClick指向的方法,或者是数据绑定框架指向的方法。

答案 1 :(得分:0)

有Thread.sleep(timeInMs),但它不是最好的选择,因为它会挂起main(ui线程)。

最好使用Handler

Handler handler = new Handler();
handler.postDelayed(new Runnable() {
    @Override
    public void run() {
        someAction();
    }
}, 500) 

答案 2 :(得分:-1)

最简单的方法是使用处理程序:

import android.os.Handler;

new Handler().postDelayed(new Runnable() {
    @Override
    public void run() {
        // Do something
    }
}, 500);