为什么我的文本字符串不更新?

时间:2017-01-27 21:21:39

标签: android timer

所以我试图显示自我的应用程序按下按钮后经过的时间。

我的代码是:

block (2 levels) in <class:Numeric>'
          from /home/yschang/.rbenv/versions/2.4.0/lib/ruby/gems/2.4.0/gems/activesupport-4.2.7.1/lib/active_support/core_ext/numeric/conversions.rb:131:in

应用程序运行但是当我按下按钮时它只显示“0.0”。

该应用不会关闭。任何帮助表示赞赏!

2 个答案:

答案 0 :(得分:0)

请试试这个:

/*This will initiate the timer*/
        timer = new Timer();
        start=System.currentTimeMillis();
        timer.scheduleAtFixedRate(new TimerTask() {
            @Override
            public void run() {
                runOnUiThread(new Runnable() {
                    public void run() {
                        time=System.currentTimeMillis()-start;
                        currenttimedisplay.setText(Long.toString(time));
                    }
                });
            }
        }, 0, 1000);

答案 1 :(得分:0)

在您的代码中,start的值在每次计时器结束时都会更改(start = System.currentTimeMillis()),因此time的值始终为0(System.currentTimeMillis() - System。 currentTimeMillis()如果被调用时没有,或者时间差非常小,那么它应该是0)。因此,您应该在按下按钮时设置start的值,然后计算差异,并在计时器任务中更新文本视图。