如何将NumberPicker
的增量从1更改为您想要的数字1000?
numberPicker.setMinValue(1000);
numberPicker.setMaxValue(15000);
这就是我设置NumberPicker的方法,我不想将它增加1,因为步骤为1,你需要更长的时间才能达到8000.
我已经尝试过这个,numberPicker.setDisplayedValues(somethig_array)
但是我仍然需要为所有值提供显示值。还是不适合我。
最后我尝试使用此answer中的OnValueChangeListener
:
numberPicker.setOnValueChangeListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onChange(NumberPicker picker, int oldVal, int newVal) {
picker.setValue((newVal < oldVal)?oldVal-1000:oldVal+1000);
}
});
即使1000的下一个数字是2000,但仍然会显示10001-1999。
有没有办法修改NumberPicker
的增量?
非常感谢任何想法。
答案 0 :(得分:11)
setDisplayedValues()
就是你想要的。一个简单的for循环可以帮助您非常简单地创建数组。
int minValue = 1000;
int maxValue = 15000;
int step = 1000;
String[] valueSet = new String[maxValue/minValue];
for (int i = minValue; i <= maxValue; i += step) {
valueSet[(i/step)-1] = String.valueOf(i);
}