gpt4 book ai didi

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

转载 作者:行者123 更新时间:2023-11-29 15:26:03 24 4
gpt4 key购买 nike

在自定义 ListView 中,我有一个 TextView,其文本必须每 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 中。

它是第一次工作,因为第一次设置 Adapter 时调用了 getView。

下次它给出异常:

android.view.ViewRoot$CalledFromWrongThreadException:只有创建 View 层次结构的原始线程才能触及它的 View 。

那么我到底应该在哪里使用这段代码呢?

如果我的做法本身不好,请告诉我如何实现这一目标。

谢谢

最佳答案

您不能从非 UI 线程的线程更新 UI 对象。试试这个:

this.runOnUiThread(new Runnable(){
@Override
public void run(){
//update your TextView here
}
})

关于Android:定期更改自定义 ListView 的 TextView 的文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12914632/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com