簡體   English   中英

Android:定期更改自定義ListView的TextView的文本

[英]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
   }   
})

您也可以在以下鏈接中嘗試該示例。

http://www.java2s.com/Code/Android/UI/TimingActivity.htm

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM