0

我正在尝试在我的 Android 活动中实现一个非常简单的秒表小部件,以便用户可以点击开始/重置以启动计时器,并停止以停止它。所有的功能都在那里,但我似乎无法找到一种方法来不断地显示这个秒表的价值。

我目前正在使用一个自定义对象,该对象存储一个long表示Stopwatch对象创建时间的值,一个将此long值设置为当前时间的构造函数,以及一个通过减去当前时间displayTime返回double表示当前时间(以秒为单位)的值的方法从原始时间除以 1000.0。

就像我说的,在功能上它是完美无缺的,但我看不出有一种方法可以不断更新TextView具有displayTime(). 任何人都可以建议尽可能简单的解决方案来实现这一目标吗?谢谢!

4

2 回答 2

0

The easiest way is probably to use a Handler.

private Handler h = new Handler();
private Runnable update = new Runnable() {
    void run() {
        // update the time in the text view here
        h.postDelayed(this, 1000); // reschedule the update in 1 sec
    }
};

// to start the update process
h.postDelayed(update, 0); // run the update the first time
于 2013-01-03T19:07:49.387 回答
0

为此,您需要使用 Timer 类。

ActionListener timerTask = new ActionListener() {
        public void actionPerformed(ActionEvent e) {
    lblTime.setText("Set your time here");     
        }
    };
Timer timer = new Timer(500, timerTask);
timer.start();

对于定时器类信息和 API

  1. 类定时器 API

  2. 如何使用摆动计时器

于 2013-01-03T18:51:36.440 回答