我已经定义了两个单独的方法,将 numberPickers 的值设置为倒数计时器中文本的值。唯一的问题是我只能将计时器设置为小时或分钟,但我无法将这两个值结合起来。我怎样才能将这两种方法结合起来,形成一种结合这两种值(value)的方法。
这是两种方法...
noPickerHours.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
timer = new CounterClass((newVal * 60 * 1000), 1000);
long millis = (newVal * 60 * 1000);
String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
textViewTime.setText(hms);
}
});
noPickerMinutes.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
timer = new CounterClass((newVal * 60 * 1000), 1000);
long millis = (newVal * 60 * 1000);
String hms = String.format("%02d:%02d:%02d", TimeUnit.MILLISECONDS.toHours(millis), TimeUnit.MILLISECONDS.toMinutes(millis) - TimeUnit.HOURS.toMinutes(TimeUnit.MILLISECONDS.toHours(millis)),
TimeUnit.MILLISECONDS.toSeconds(millis) - TimeUnit.MINUTES.toSeconds(TimeUnit.MILLISECONDS.toMinutes(millis)));
textViewTime.setText(hms);
}
});
感谢所有帮助过的人:)
最佳答案
好的,为什么不将数据选择器的状态保存在变量中以便在另一个变量中使用它们? (我想秒数始终为 0,因为您没有在代码中更改它们)
int hours = 0;
int minutes = 0;
private void setTimer () {
timer = new CounterClass((hours *60 * 60 * 1000) + (minutes * 60 *1000), 1000);
String hms = String.format("%02d:%02d:00", ), hours, minutes);
textViewTime.setText(hms);
}
...
noPickerHours.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
hours = newVal;
setTimer();
}
});
noPickerMinutes.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker picker, int oldVal, int newVal) {
minutes = newVal;
setTimer();
}
});
编辑,我忘了给定时器添加变量
关于java - 将两个 numberPicker 值小时和分钟组合成一个倒数计时器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34279363/