gpt4 book ai didi

android - CountdownTimer 暂停和恢复功能

转载 作者:行者123 更新时间:2023-11-29 21:56:02 26 4
gpt4 key购买 nike

我根据在 Google 中搜索的教程创建了一个倒数计时器。但是我无法继续倒计时。当我按下按钮时,它会从 10 开始重新启动。

我想创建一个能够暂停和恢复的倒数计时器。谢谢!这是我的代码:

import android.app.Activity;
import android.os.Bundle;
import android.os.CountDownTimer;
import android.view.View;
import android.view.View.OnClickListener;
import android.widget.Button;
import android.widget.TextView;

public class TimerC extends Activity {
Button btns;
TextView tv;

@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timer_c);

btns = (Button)findViewById(R.id.btnstartpause);
tv = (TextView)findViewById(R.id.tv);
tv.setText("10");
btns.setText("Start");

final MyCounter timer = new MyCounter(10000,1000);

btns.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

if (btns.getText()== "Start")
{
timer.start();

btns.setText("Pause");
}
else if (btns.getText()== "Pause")
{
btns.setText("Start");
timer.cancel();
}
}
});
}

public class MyCounter extends CountDownTimer{

public MyCounter(long millisInFuture, long countDownInterval) {
super(millisInFuture, countDownInterval);
}

@Override
public void onFinish() {
System.out.println("Timer Completed.");
tv.setText("Timer Completed.");
}

@Override
public void onTick(long millisUntilFinished) {
tv.setText((millisUntilFinished/1000)+"");
System.out.println("Timer : " + (millisUntilFinished/1000));
}
}
}

最佳答案

你的问题应该是这里的字符串比较:

 btns.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

if (btns.getText()== "Start")
{
timer.start();

btns.setText("Pause");
}
else if (btns.getText()== "Pause")
{
btns.setText("Start");
timer.cancel();
}
}
});

您应该使用 object.equals(otherObject) 因为 == 运算符比较的是引用而不是值。示例:

 btns.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {

if (btns.getText().equals("Start"))
{
timer.start();

btns.setText("Pause");
}
else if (btns.getText().equals("Pause"))
{
btns.setText("Start");
timer.cancel();
}
}
});

关于android - CountdownTimer 暂停和恢复功能,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13247315/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com