-3

秒を遅らせてトーストを表示したいのですが、試してみます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();

あれは1s、5s、10sの順番で表示されるはずですよね?

私もこの実践を参考にしましたが、達成できません... Androidで遅延を設定するにはどうすればよいですか?

問題は嘘ですか?

4

1 に答える 1

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

使用法:

showToast("1s, 1000, this);
showToast("5s, 5000, this);
showToast("10s, 10000, this);
于 2015-12-09T03:31:15.370 に答える