1
我想在一段時間後顯示一些文本。handler.postDelayed()不執行
我最初是從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」,沒有暫停。看起來處理程序沒有延遲。
爲什麼以及如何讓它延遲?
嘛,500ms的延遲是相當短的,所以你可能不會注意到的變化,特別是取決於你可能會做什麼。 – CommonsWare
您是否嘗試將延遲更改爲較大的數字?如果它仍然是即刻加載,你可以排除這個問題 – drew
我試圖將其更改爲5000毫秒,但它仍然無法正常工作。 – bobbobbob