相关疑难解决方法(0)

带有Formatter的Android NumberPicker在首次渲染时不会格式化

我有一个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)

android formatter numberpicker android-number-picker

32
推荐指数
6
解决办法
1万
查看次数