首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >CountDownTimer变量

CountDownTimer变量
EN

Stack Overflow用户
提问于 2015-08-23 14:48:15
回答 1查看 466关注 0票数 0

在更改构造函数的值时,我遇到了一个主要问题。

这是一个手电筒应用程序。它将连接到一个站点,以检查间隔值(例如。它将每2秒将它存储到一个名为frum_timer的变量中。

这是一个用来做这个的物体。(如果有新值,它也会更新布尔值)

代码语言:javascript
复制
FlashActivity = new CountDownTimer(40000, frum_timer) {

    @Override
    public void onTick(long millisUntilFinished) {
        stats_of_run = true;
        if (bool) {
            final_form.setText("\\Flash ON//");
            // CAMERA INSTRUCTIONS FOR OPENING FLASH
            bool = false;
            frumtimer_stats.setText("Speed:" + frum_timer);
        } else {
            stats_of_run = true;
            final_form.setText("->Flash OFF-<");
            // CAMERA INSTRUCTIONS FOR CLOSING FLASH
            bool = true;
        }
    }

    @Override
    public void onFinish() {
    }

}.start();  

我制作了另一个CountDownTimer对象,刷新速度为200秒,以确保来自FlashActivity对象的frum_timer将进行更改。

用这个

代码语言:javascript
复制
frumtimer_stats.setText("Speed:" + frum_timer);

FlashActivity中显示变量。

但是,在变量frum_timer被更改后,FlashLight继续以相同的速度一次又一次地运行,即使一个FlashActivity.cancel()后面跟着FlashActivity.start()

有人能帮我一下吗?

代码的完整链接:https://mycodestock.com/public/snippet/14395

摘要:1.启动应用程序。2.刷新倒计时在2秒3开始。当出现frum_timer时,FlashActivity将启动。2秒后,如果在frum_timer上存储了另一个值,则实际的FlashActivity将被取消并启动一个新的值。4.问题是新的FlashActivity开始,但是旧的 frum_timer

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-08-24 20:22:38

我用:

代码语言:javascript
复制
 public void startProgress(View view) {
        // do something long
        Runnable runnable = new Runnable() {
          @Override
          public void run() {
            for (int i = 0; i <= 20; i++) {
              final int value = i;
               doFakeWork();


              progress.post(new Runnable() {
                @Override
                public void run() {
                 // text.setText("Updating");
                    progress.setMax(20);
                  progress.setProgress(value);
                }
              });
            }
          }
        };
        new Thread(runnable).start();
      }


  private void doFakeWork() {
        try {
          Thread.sleep(800);
        } catch (InterruptedException e) {
          e.printStackTrace();
        }
      }
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32167930

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档