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