为了账号安全,请及时绑定邮箱和手机立即绑定

如何在Android中制作倒数计时器?

如何在Android中制作倒数计时器?

qq_花开花谢_0 2019-07-29 17:13:45
如何在Android中制作倒数计时器?我有两个XML格式的EditTexts。在一个EditText中,用户可以将数字设置为分钟,而将另一个EditText设置为秒数。单击完成按钮后,秒EditText应开始倒计时并每秒更新其文本。另外,如何保持更新直到达到零分钟和零秒?
查看完整描述

3 回答

?
慕田峪7331174

TA贡献1828条经验 获得超13个赞

new CountDownTimer(30000, 1000) {
    public void onTick(long millisUntilFinished) {
        mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
       //here you can have your logic to set text to edittext
    }
    public void onFinish() {
        mTextField.setText("done!");
    }}.start();

请参阅此链接


查看完整回答
反对 回复 2019-07-29
?
白猪掌柜的

TA贡献1893条经验 获得超10个赞

如果您使用以下代码(如接受的答案中所述),

new CountDownTimer(30000, 1000) {
    public void onTick(long millisUntilFinished) {
        mTextField.setText("seconds remaining: " + millisUntilFinished / 1000);
       //here you can have your logic to set text to edittext
    }
    public void onFinish() {
        mTextField.setText("done!");
    }}.start();

如果您不仔细清理引用,它将导致您使用此代码的活动实例的内存泄漏。

使用以下代码

//Declare timerCountDownTimer cTimer = null;//start timer functionvoid startTimer() {
    cTimer = new CountDownTimer(30000, 1000) {
        public void onTick(long millisUntilFinished) {
        }
        public void onFinish() {
        }
    };
    cTimer.start();}//cancel timervoid cancelTimer() {
    if(cTimer!=null)
        cTimer.cancel();}

只要调用拥有的Activity / Fragment中的onDestroy()/ onDestroyView(),就需要调用cTtimer.cancel()


查看完整回答
反对 回复 2019-07-29
  • 3 回答
  • 0 关注
  • 676 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信