簡體   English   中英

重置后單擊按鈕重新啟動天文台

[英]Restart Chronometer on Button Click After Resetting

這是我啟動天文鍾的方式:

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;

這允許按鈕只與天文鍾互動一次。 有沒有辦法讓按鈕在重置后啟動計時器? 謝謝

因為我設置了 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,然后通過單擊相同的按鈕重新啟動相同的過程。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM