[英]Android: Periodically change the Text of a TextView of a Custom ListView
在自定義ListView中,我有一個TextView,其Text必須每1分鍾定期更改為當前時間和日期。
所以我做到了:
Timer mTimer = new Timer();
mTimer.scheduleAtFixedRate(new TimerTask() {
@Override
public void run() {
currentTime = System.currentTimeMillis();
(holder.myText).setText(new Date(currentTime));
}
}, 0, 60000);
在自定義適配器的getView中。
它是第一次使用,因為第一次設置適配器時會調用getView。
下次它給出異常:
android.view.ViewRoot $ CalledFromWrongThreadException:只有創建視圖層次結構的原始線程才能觸摸其視圖。
所以我到底應該在哪里使用此代碼?
如果我的練習本身不好,請給我一個想法來實現這一目標。
謝謝
您不能通過不是UI線程的線程來更新UI對象。 嘗試這個:
this.runOnUiThread(new Runnable(){
@Override
public void run(){
//update your TextView here
}
})
您也可以在以下鏈接中嘗試該示例。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.