[英]How to use handler as a timer in android?
Handler handler = new Handler();
if (v.getId() == R.id.play){
handler.postDelayed(new Runnable() {
public void run() {
play.setBackgroundResource(R.drawable.ilk);
}
}, 2000);
play.setText("Play");
}
我想先設置背景,然后2秒后,代碼將繼續play.setText("Play");
下一行play.setText("Play");
像那樣 取而代之的是,出現第一個文本。 2秒后,背景發生變化。
Handler.postDelayed
立即返回。 然后執行下一行。 在指定的毫秒后,將執行Runnable
。
因此,您的代碼應如下所示:
void doFirstWork() {
Handler handler = new Handler();
if (v.getId() == R.id.play){
handler.postDelayed(new Runnable() {
public void run() {
play.setText("Play");
doNextWork();
}
}, 2000);
play.setBackgroundResource(R.drawable.ilk);
}
}
void doNextWork() {
...
}
首先設置背景。 之后,在Handler中設置文本。 由於您已將延遲放置在postDelayed的末尾,因此它將在所述延遲之后或在您的情況下2秒后立即觸發。
if (v.getId() == R.id.play){
play.setBackgroundResource(R.drawable.ilk);
new Handler().postDelayed(new Runnable() {
public void run() {
play.setText("Play");
}
}, 2000);
}
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.