具有未定义值的android号码选择器

时间:2014-06-27 21:01:40

标签: android undefined numberpicker

有没有办法创建一个数字从0到15的NumberPicker,但是用户仍然可以决定他是否真的要设置一个数字?例如:

undefined (default)
0
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
...
undefined... and so on

或者您能想到其他用户友好的方法来实现这一目标吗?

1 个答案:

答案 0 :(得分:1)

当然可以:

widget = (NumberPicker) findViewByid(R.id.mynp);
widget.setMaxValue(16);
widget.setMinValue(0);
String[] displayedValues = new String[widget.getMaxValue()-widget.getMinValue()+1];
for (int i=0; i<16; i++) {
    displayedValues[i] = String.format("%d", i);
}
displayedValues[16] = "undefined (default)";
widget.setDisplayedValues(displayedValues);
widget.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
    @Override
    public void onValueChange(NumberPicker picker, int oldValue, int newValue) {
        if (newValue > 15) {
            useDefaultValue();
        }
        else useValue(newValue);
    }
}