重设按钮后重新启动计时器,请点击

问题描述 投票:0回答:1

这是我启动计时器的方式:

btnCount.setEnabled(true);

        if (!mIsStarted) {
            chrono.setBase(SystemClock.elapsedRealtime());
            chrono.start();
            mIsStarted = true;
        }

然后我通过以下方式停止它:

        switch (item.getItemId()) {
            case R.id.item1:
                Toast.makeText(getApplicationContext(),"Count Reset",Toast.LENGTH_LONG).show();
                txtCount.setText(String.valueOf(count = 0));
                chrono.setBase(SystemClock.elapsedRealtime());
            return true;
            default:
                return super.onOptionsItemSelected(item);

我已经尝试了所有我理解的东西,但是在按下重置菜单按钮后无法重新启动按钮上的计时器,而是停留在00。我知道这很可能是因为

if (!mIsStarted) {
  ...
        mIsStarted = true;

允许按钮仅与计时码表互动一次。有没有办法让按钮在重置后启动计时器?谢谢

java android button chronometer
1个回答
0
投票

因为我将boolean mIsStarted = false设置为;通过菜单按钮重置后,最初只允许单击第一个按钮来启动计时器,布尔值仍然处于活动状态,不会让我以相同的方式重新启动计时器:

 if (!mIsStarted) {
            chrono.setBase(SystemClock.elapsedRealtime());
            chrono.start();
            mIsStarted = true;}

我添加了mIsStarted = false;到我的菜单按钮操作,所有操作均按预期进行:

                txtCount.setText(String.valueOf(count = 0));
            chrono.setBase(SystemClock.elapsedRealtime());
            chrono.stop();
            mIsStarted = false;

我通过单击按钮启动计时器,然后通过菜单按钮停止并重置为00:00,并通过单击同一按钮重新开始相同的过程。

© www.soinside.com 2019 - 2024. All rights reserved.