Java 按下按钮时使倒计时暂停

Java 按下按钮时使倒计时暂停,java,android,button,countdowntimer,Java,Android,Button,Countdowntimer,我正在尝试制作一个基本的应用程序,我可以按下按钮开始倒计时,同一个按钮上的文本在“开始”、“暂停”或“恢复”之间变化,这取决于按下按钮时的状态。目前按下按钮没有任何作用,我不知道为什么 按钮以文本“开始”开始 这是onCreate()中按钮侦听器的代码 即使按钮上的起始文本是“开始”,所有“如果”语句似乎都不是真的 下面是startTimer()方法 您正在比较“时钟文本”: if(clockText.getText().toString().toLowerCase().equals("resu

我正在尝试制作一个基本的应用程序,我可以按下按钮开始倒计时,同一个按钮上的文本在“开始”、“暂停”或“恢复”之间变化,这取决于按下按钮时的状态。目前按下按钮没有任何作用,我不知道为什么

按钮以文本“开始”开始

这是onCreate()中按钮侦听器的代码

即使按钮上的起始文本是“开始”,所有“如果”语句似乎都不是真的

下面是startTimer()方法


您正在比较“时钟文本”:

if(clockText.getText().toString().toLowerCase().equals("resume")) 
但您正在设置按钮中的值:

startButton.setText("resume");

更改条件视图问题是因为您正在检查错误视图的文本值。您正在检查时钟文本的文本值,而不是开始按钮,这是您正在设置“恢复”、“暂停”、“开始”的文本值的视图。您需要将代码更改为:

clockText = findViewById(R.id.timer);    
final Button startButton = findViewById(R.id.timerBtn);
    startButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            if(startButton.getText().toString().toLowerCase().equals("resume")) {
                startTimer(milliLeft);
                clock.start();
                startButton.setText("resume");
            }
            else if(startButton.getText().toString().toLowerCase().equals("pause")){
                clock.cancel();
                clockText.setText(formatTime);
                startButton.setText("resume");
            }
            else if(startButton.getText().toString().toLowerCase().equals("start")){
                startTimer(30000);
                startButton.setText("pause");
                clock.start();
            }

        }
    });

真不幸,我不知道我怎么没注意到,但谢谢!谢谢,我想我只是需要另一双眼睛来捕捉这么简单的东西。
startButton.setText("resume");
clockText = findViewById(R.id.timer);    
final Button startButton = findViewById(R.id.timerBtn);
    startButton.setOnClickListener(new View.OnClickListener() {
        @Override
        public void onClick(View v) {


            if(startButton.getText().toString().toLowerCase().equals("resume")) {
                startTimer(milliLeft);
                clock.start();
                startButton.setText("resume");
            }
            else if(startButton.getText().toString().toLowerCase().equals("pause")){
                clock.cancel();
                clockText.setText(formatTime);
                startButton.setText("resume");
            }
            else if(startButton.getText().toString().toLowerCase().equals("start")){
                startTimer(30000);
                startButton.setText("pause");
                clock.start();
            }

        }
    });