如何在android中延迟秒?

Ban*_*Lin -3 android delay system-clock

我想延迟几秒钟并显示 Toast,我尝试 SystemClock.sleep

但它只显示最后一条消息(“10s”)...

Toast.makeText(MainActivity.this,"1s", Toast.LENGTH_SHORT).show();
SystemClock.sleep(5000);
Toast.makeText(MainActivity.this,"5s", Toast.LENGTH_SHORT).show();
SystemClock.sleep(5000);
Toast.makeText(MainActivity.this,"10s", Toast.LENGTH_SHORT).show();
Run Code Online (Sandbox Code Playgroud)

那应该是按顺序显示1s、5s、10s吧?

我也参考了这个做法,但是无法实现... android中如何设置延迟?

那么问题出在哪里呢?

Ill*_*ent 5

尝试处理程序

public void showToast(final String message, int timeInMilliSeconds, final Context context) {
    Runnable runnable = new Runnable() {
        @Override
        public void run() {
            Toast.makeText(context, message, Toast.LENGTH_SHORT).show();
        }
    };
    Handler handler = new Handler();
    handler.postDelayed(runnable, timeInMilliSeconds);
}
Run Code Online (Sandbox Code Playgroud)

用法:

showToast("1s, 1000, this);
showToast("5s, 5000, this);
showToast("10s, 10000, this);
Run Code Online (Sandbox Code Playgroud)