亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

倒計時器的 EditText 值

倒計時器的 EditText 值

呼喚遠方 2023-07-19 16:34:18
我正在嘗試分配用戶輸入到編輯文本中的值作為倒計時器的起始值,將其轉換為毫秒     @Override    protected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    minutes = (EditText) findViewById(R.id.minutes);    seconds = (EditText) findViewById(R.id.seconds);    start = (Button) findViewById(R.id.startbutton);    count = (TextView) findViewById(R.id.counting);    final String sec = String.valueOf(seconds.getText());    int sec1 = Integer.valueOf(sec);    long sec2 = sec1;    //String minu = minutes.getText().toString();     final CountDownTimer counting = new        CountDownTimer(TimeUnit.SECONDS.toMillis(sec2), 1000) {           @Override           public void onTick(long millisUntilFinished) {               Log.i("alarm rings in",                                         String.valueOf(millisUntilFinished/1000));           }           @Override            public void onFinish() {                Log.i("done", "alarm is ringing");            }        };    start.setOnClickListener(new View.OnClickListener() {        @Override        public void onClick(View v) {            counting.start();        }    });}}我期望單擊按鈕后開始倒計時,但它顯示 Onfinish() 方法輸出
查看完整描述

2 回答

?
喵喔喔

TA貢獻1735條經驗 獲得超5個贊

我檢查了你的代碼,看起來不錯,請參閱:


    val sec2 = 10L

    val counting: CountDownTimer =

        object : CountDownTimer(TimeUnit.SECONDS.toMillis(sec2), 1000) {

            override fun onTick(millisUntilFinished: Long) {

                Log.i("alarm rings in", (millisUntilFinished / 1000).toString())

            }


            override fun onFinish() {

                Log.i("alarm done", "alarm is ringing")

            }

        }


    counting.start()

2019-09-09 00:06:57.791 1258-1654/? I/HwAlarmManagerService: hwSetAlarm listenerTag: *job.delay*

2019-09-09 00:06:59.740 26157-26157/com.unest.android.dev I/alarm rings in: 9

2019-09-09 00:07:00.004 1258-1258/? I/HwAlarmManagerService: hwSetAlarm listenerTag: time_tick

2019-09-09 00:07:00.741 26157-26157/com.unest.android.dev I/alarm rings in: 8

2019-09-09 00:07:01.742 26157-26157/com.unest.android.dev I/alarm rings in: 7

2019-09-09 00:07:02.742 26157-26157/com.unest.android.dev I/alarm rings in: 6

2019-09-09 00:07:03.743 26157-26157/com.unest.android.dev I/alarm rings in: 5

2019-09-09 00:07:04.744 26157-26157/com.unest.android.dev I/alarm rings in: 4

2019-09-09 00:07:05.745 26157-26157/com.unest.android.dev I/alarm rings in: 3

2019-09-09 00:07:06.746 26157-26157/com.unest.android.dev I/alarm rings in: 2

2019-09-09 00:07:07.748 26157-26157/com.unest.android.dev I/alarm rings in: 1

2019-09-09 00:07:08.749 26157-26157/com.unest.android.dev I/alarm rings in: 0

2019-09-09 00:07:09.232 26157-26157/com.unest.android.dev I/alarm done: alarm is ringing

2019-09-09 00:07:12.378 1258-1379/? W/AlarmManager: mIsScreenOn is: true, WAKEUP alarm trigger action = com.google.android.location.reporting.ACTION_UPDATE_WORLD package name is: com.google.android.gms

2019-09-09 00:07:12.378 1258-1379/? W/AlarmManager: mIsScreenOn is: true, WAKEUP alarm talarm.operation == null,package name is: android listenerTag is: *job.delay* creator uid is: 1000

2019-09-09 00:07:12.411 1258-1258/? I/HwAlarmManagerService: hwSetAlarm listenerTag: *job.delay*

可能你設定了 1 秒,但終點被解雇了。嘗試增加 edittext 中的秒數或設置 1000 毫秒以上的不同間隔


查看完整回答
反對 回復 2023-07-19
?
猛跑小豬

TA貢獻1858條經驗 獲得超8個贊

根據CountDownTimer 類的javadoc(參見其構造函數),millisInFuture 參數的值小于 countDownInterval 參數的值。所以onFinish是在onTick之前執行的。



查看完整回答
反對 回復 2023-07-19
  • 2 回答
  • 0 關注
  • 152 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號