【发布时间】:2015-12-09 03:12:54
【问题描述】:
我想延迟几秒显示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();
那应该是按1s、5s、10s的顺序显示吧?
我也参考了这个做法,但是不能实现... How to set delay in android?
那么问题出在哪里?
【问题讨论】:
-
你试过
Thread.sleep(5000)吗? -
第二个参数不定义时间间隔。但是是定义使用 Toast 显示的消息。
-
使用
handler和postDelayed比使用Thread.sleep更好。 -
是的,我试过这种方式,但结果是一样的。
-
在冻结 UI 线程时显示的内容无关紧要。绝对,完全,根本不是你想做的……永远。最有可能的是,用户将收到“应用无响应”消息。无论如何,它只似乎显示标题的原因是因为你设置了第一个然后停止应用程序......所以在那些愚蠢的延迟结束之前它无法更新屏幕。跨度>
标签: android delay system-clock