我希望在一段时间后显示一些文字。
我最初使用Thread.sleep()开始。它只是在立即执行代码之前暂停。
mTextView.setText("3");
try{
Thread.sleep(500);
}catch(InterruptedException e){
e.printStackTrace();
}
mTextView.setText("2");
但它会暂停500毫秒,然后显示" 2"。 它永远不会显示" 3"。
所以,我换了一个处理程序。
mTextView.setText("3");
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
mTextView.setText("2");
}
}, 500);
但出于某种原因,它会跳转到显示" 2,"没有停顿。似乎处理程序没有延迟。
为什么以及如何延迟?
答案 0 :(得分:0)
试试这个 -
Handler handler = new Handler();
for(int i=0;i<2;i++){
handler.postDelayed(new Runnable() {
public void run() {
mTextView.setText(""+(i+2));
}
}, 500*i);
}