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

在android中使用倒数计时器按钮

在android中使用倒数计时器按钮

缥缈止盈 2021-08-19 21:11:08
我正在尝试制作一个倒数计时器,但我无法实现如何放置按钮来开始/停止倒计时。我试图在 onCreate 方法中创建该方法,但它返回一个错误,所以我的脚本是这样的(其中 goButton 是我的 onClick 函数):package com.example.ricardofonzo.eggtimer;import android.media.MediaPlayer;import android.os.CountDownTimer;import android.support.v7.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.TextView;public class MainActivity extends AppCompatActivity {MediaPlayer mplayer;int estadoContador =0;public void goButton(View view){    estadoContador = 1;}@Overrideprotected void onCreate(Bundle savedInstanceState) {    super.onCreate(savedInstanceState);    setContentView(R.layout.activity_main);    mplayer = MediaPlayer.create(this,R.raw.bell);    final TextView timeView = (TextView) findViewById(R.id.timeView);    CountDownTimer cuentaRegresiva = new CountDownTimer(100000, 1000) {        @Override        public void onTick(long millisUntilFinished) {            long segundos = millisUntilFinished/1000;            long minutos;            if (segundos>= 60) {                minutos = segundos / 60;                segundos = segundos - minutos * 60;                if (minutos > 9) {                    if (segundos > 9) {                        timeView.setText(String.valueOf(minutos) + ":" + String.valueOf(segundos));                    } else {                        timeView.setText(String.valueOf(minutos) + ":0" + String.valueOf(segundos));                    }                } else {                    if (segundos > 9) {                        timeView.setText("0" + String.valueOf(minutos) + ":" + String.valueOf(segundos));                    } else {                        timeView.setText("0" + String.valueOf(minutos) + ":0" + String.valueOf(segundos));                    }                }            }这就是我目前所拥有的。我将非常感谢您的帮助。
查看完整描述

1 回答

?
慕码人2483693

TA贡献1860条经验 获得超9个赞

在XML文件中将此行添加到您的按钮


android:onClick="startCounterDown"

并将此方法添加到您的活动中


public void startCounterDown(View view){


    CountDownTimer cuentaRegresiva = new CountDownTimer(100000, 1000) {

        @Override

        public void onTick(long millisUntilFinished) {

            long segundos = millisUntilFinished/1000;

            long minutos;

            if (segundos>= 60) {

                minutos = segundos / 60;

                segundos = segundos - minutos * 60;

                if (minutos > 9) {

                    if (segundos > 9) {

                        timeView.setText(String.valueOf(minutos) + ":" + String.valueOf(segundos));

                    } else {

                        timeView.setText(String.valueOf(minutos) + ":0" + String.valueOf(segundos));

                    }

                } else {

                    if (segundos > 9) {

                        timeView.setText("0" + String.valueOf(minutos) + ":" + String.valueOf(segundos));

                    } else {

                        timeView.setText("0" + String.valueOf(minutos) + ":0" + String.valueOf(segundos));

                    }

                }

            } else {

                if (segundos>9){

                    timeView.setText("00:" + String.valueOf(segundos));

                } else {

                    timeView.setText("00:0" + String.valueOf(segundos));

                }


            }

        }


        @Override

        public void onFinish() {

            timeView.setText("Time out!");

            mplayer.start();


        }

    }.start();



}


查看完整回答
反对 回复 2021-08-19
  • 1 回答
  • 0 关注
  • 159 浏览

添加回答

举报

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