如何使用 numberPicker 获取 setFormatter 的值?
How do I get the value of setFormatter using numberPicker?
我正在使用 numberPicker 并找到了在我的 numberPicker 中显示 00、01、02... 的答案,我使用了 setFormatter。问题是,当我调用 getValue() 时,我将得到 0、1、2... 我需要得到 00、01、02... 以便我可以在不同的视图中将其显示为文本。反正有这样做吗?有或没有 setFormatter。
我在网上搜索并检查是否有其他人遇到同样的问题但找不到任何东西:(。也考虑过使用 timePicker/datePicker 但后来我遇到了同样的问题。
numberPickerLeftHours.setMinValue(0);
numberPickerLeftHours.setMaxValue(23);
//Put a extra 0 in front of single numbers.
numberPickerLeftHours.setFormatter(new NumberPicker.Formatter() {
@SuppressLint("DefaultLocale")
@Override
public String format(int value) {
Log.i(TAG, "onCreate: numberPickerLeftHours.getValue(): " + numberPickerLeftHours.getValue());
return String.format("%02d", value);
}
});
所以我的 Log.i();值为 0、1、2...但我需要 00、01...09、10、11、12 到 23。
抱歉我的评论不好所以代码看起来类似于:
numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker numberPicker, int i, int i1) {
String formated = String.format("%02d", numberPicker.getValue());
Log.d("PickerValue", formated);
yourTextView.setText(formated);
}
});
我正在使用 numberPicker 并找到了在我的 numberPicker 中显示 00、01、02... 的答案,我使用了 setFormatter。问题是,当我调用 getValue() 时,我将得到 0、1、2... 我需要得到 00、01、02... 以便我可以在不同的视图中将其显示为文本。反正有这样做吗?有或没有 setFormatter。
我在网上搜索并检查是否有其他人遇到同样的问题但找不到任何东西:(。也考虑过使用 timePicker/datePicker 但后来我遇到了同样的问题。
numberPickerLeftHours.setMinValue(0);
numberPickerLeftHours.setMaxValue(23);
//Put a extra 0 in front of single numbers.
numberPickerLeftHours.setFormatter(new NumberPicker.Formatter() {
@SuppressLint("DefaultLocale")
@Override
public String format(int value) {
Log.i(TAG, "onCreate: numberPickerLeftHours.getValue(): " + numberPickerLeftHours.getValue());
return String.format("%02d", value);
}
});
所以我的 Log.i();值为 0、1、2...但我需要 00、01...09、10、11、12 到 23。
抱歉我的评论不好所以代码看起来类似于:
numberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker numberPicker, int i, int i1) {
String formated = String.format("%02d", numberPicker.getValue());
Log.d("PickerValue", formated);
yourTextView.setText(formated);
}
});