Android 如果我更改值,倒数计时器不工作
Android countdown timer not working if i change values
我正在尝试制作一个程序,您在第一个 activity 和第二个 activity 上使用数字选择器输入一个数字,有一个倒计时器使用您在第一个输入的数字activity 以分钟为单位倒计时(如果输入 10 则倒计时 10 分钟)。
public class timer_2 extends AppCompatActivity {
ImageButton imageButton3;
private TextView timer_2_up;
private TextView timer_2_down;
private CountDownTimer timer_2_up_countdowntimer;
private CountDownTimer timer_2_down_countdowntimer;
private boolean timer_2_up_running;
private boolean timer_2_down_running;
private long starttime;
private long starttimedown = starttime*60000;
private long starttimeup = starttime*60000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timer_2);
timer_2_up = findViewById(R.id.timer_2_up);
timer_2_down = findViewById(R.id.timer_2_down);
imageButton3 = (ImageButton)findViewById(R.id.imageButton3);
Bundle timer2extras = getIntent().getExtras();
String timer2string = timer2extras.getString("timer2string");
starttime = Integer.parseInt(timer2string);
imageButton3.setOnClickListener(new View.OnClickListener() {
//....
如果我在 starttimeup 和 starttimedown 上删除 starttime*60000(第 9 行)并替换为数字(例如 600000),它工作正常,但对于 starttime,它只显示 00:00。请帮助我。
只需在启动时声明 starttimeup 和 starttime down 并在从第一个 activity 获得开始时间值后初始化它们,例如:
long starttimeup;
long starttimedown;
并在 onCreate 中:
starttime = Integer.parseInt(timer2string);
starttimeup = starttime*60000;
starttimedown = starttime*60000;
我正在尝试制作一个程序,您在第一个 activity 和第二个 activity 上使用数字选择器输入一个数字,有一个倒计时器使用您在第一个输入的数字activity 以分钟为单位倒计时(如果输入 10 则倒计时 10 分钟)。
public class timer_2 extends AppCompatActivity {
ImageButton imageButton3;
private TextView timer_2_up;
private TextView timer_2_down;
private CountDownTimer timer_2_up_countdowntimer;
private CountDownTimer timer_2_down_countdowntimer;
private boolean timer_2_up_running;
private boolean timer_2_down_running;
private long starttime;
private long starttimedown = starttime*60000;
private long starttimeup = starttime*60000;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_timer_2);
timer_2_up = findViewById(R.id.timer_2_up);
timer_2_down = findViewById(R.id.timer_2_down);
imageButton3 = (ImageButton)findViewById(R.id.imageButton3);
Bundle timer2extras = getIntent().getExtras();
String timer2string = timer2extras.getString("timer2string");
starttime = Integer.parseInt(timer2string);
imageButton3.setOnClickListener(new View.OnClickListener() {
//....
如果我在 starttimeup 和 starttimedown 上删除 starttime*60000(第 9 行)并替换为数字(例如 600000),它工作正常,但对于 starttime,它只显示 00:00。请帮助我。
只需在启动时声明 starttimeup 和 starttime down 并在从第一个 activity 获得开始时间值后初始化它们,例如:
long starttimeup;
long starttimedown;
并在 onCreate 中:
starttime = Integer.parseInt(timer2string);
starttimeup = starttime*60000;
starttimedown = starttime*60000;