我有一个具有负值和正值的数组,但是当我启动应用程序时,我只能看到选择器中的最小值。
int min = -25;
int max = 100;
int jumpBy = 5;
String [] refl_Str = new String[((max-min)/jumpBy)+1];
for (int i = 0; i < refl_Str.length; i++)
{
refl_Str[i] = Integer.toString(min+(i*jumpBy));
}
np.setDisplayedValues(refl_Str);
当我添加:
np.setMaxValue(100);
np.setMinValue(-25);
我在numberpicker中得到负值的错误。
答案 0 :(得分:2)
您可以使用以下代码执行此操作:
final int minValue = -25
final int maxValue = 100
NumberPicker numberPicker = new NumberPicker(myActivity);
numberPicker.setMinValue(0);
numberPicker.setMaxValue(maxValue - minValue);
numberPicker.setValue(myCurrentValue - minValue);
numberPicker.setFormatter(new NumberPicker.Formatter() {
@Override
public String format(int index) {
return Integer.toString(index - minValue);
}
});
然后返回所选值:
int myNewValue = numberPicker.getValue() + minValue