我有一个NumberPicker,它有一个格式化程序,可以在NumberPicker旋转或手动输入值时格式化显示的数字.这工作正常,但是当第一次显示NumberPicker并且我用setValue(0)0 初始化它时没有被格式化(它应该显示为" - "而不是0).一旦我从那一点旋转NumberPicker一切正常.
如何强制NumberPicker始终格式化 - 在第一次渲染时以及在使用键盘手动输入数字时?
这是我的格式化程序
public class PickerFormatter implements Formatter {
private String mSingle;
private String mMultiple;
public PickerFormatter(String single, String multiple) {
mSingle = single;
mMultiple = multiple;
}
@Override
public String format(int num) {
if (num == 0) {
return "-";
}
if (num == 1) {
return num + " " + mSingle;
}
return num + " " + mMultiple;
}
}
Run Code Online (Sandbox Code Playgroud)
我将格式化程序添加到选择器中setFormatter(),这是我对拾取器所做的全部操作.
picker.setMaxValue(max);
picker.setMinValue(min);
picker.setFormatter(new PickerFormatter(single, multiple));
picker.setWrapSelectorWheel(wrap);
Run Code Online (Sandbox Code Playgroud)