当前位置:  开发笔记 > 编程语言 > 正文

Android TextView Timer

如何解决《AndroidTextViewTimer》经验,为你挑选了1个好方法。

对于我的Android应用程序,有一个计时器可以测量已经过了多长时间.在100毫秒内,我用一些文本更新了我的TextView,例如"得分:10时间:100.10秒".但是,我发现TextView仅在前几次更新.该应用程序仍然非常敏感,但标签不会更新.我试图调用.invalidate(),但它仍然无效.我不知道是否有某种方法可以解决这个问题,或者使用更好的小部件.

以下是我的代码示例:

float seconds;
java.util.Timer gametimer;
void updatecount() { TextView t = (TextView)findViewById(R.id.topscore);
t.setText("Score: 10 - Time: "+seconds+" seconds");
t.postInvalidate();
}
public void onCreate(Bundle sis) {
... Load the UI, etc...
  gametimer.schedule(new TimerTask() { public void run() {
     seconds+=0.1; updatecount();
} }, 100, 100);
}

Ben Bederson.. 19

一般的解决方案是使用android.os.Handler而不是在UI线程中运行.它只进行一次性回调,因此每次调用回调时都必须再次触发它.但它很容易使用.几年前写了一篇关于这个主题的博客文章:

http://android-developers.blogspot.com/2007/11/stitch-in-time.html



1> Ben Bederson..:

一般的解决方案是使用android.os.Handler而不是在UI线程中运行.它只进行一次性回调,因此每次调用回调时都必须再次触发它.但它很容易使用.几年前写了一篇关于这个主题的博客文章:

http://android-developers.blogspot.com/2007/11/stitch-in-time.html

推荐阅读
爱唱歌的郭少文_
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有