Как задержать секунды в андроиде?

Я хочу задержать секунды и показать тост, я пытаюсь SystemClock.sleep

Но он показывает только последнее сообщение ("10 с")...

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();

Это должно отображаться в последовательности 1 с, 5 с, 10 с не так ли?

Я тоже делал ссылку на эту практику, но этого достичь не удается... Как установить задержку в андроиде?

Так в чем проблема?

1 ответ

Решение

Попробуй Хендлер

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);
}

Использование:

showToast("1s, 1000, this);
showToast("5s, 5000, this);
showToast("10s, 10000, this);
Другие вопросы по тегам