Android NumberPicker负数显示不同的值

时间:2017-03-27 09:43:14

标签: java android numberpicker

我使用带负数的NumberPicker:

int maxValue = 50;
int minValue = -20;

NumberPicker np = (NumberPicker) findViewById(R.id.numberPicker);
np.setDisplayedValues(null);
np.setMinValue(0);
np.setMaxValue(maxValue - minValue);
np.setValue(Math.abs(minValue)); // start from 0
np.setWrapSelectorWheel(false);
np.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS);

String[] values = new String[maxValue - minValue];
int key = 0;

for (int i = minValue; i < maxValue; i++) {
    values[key] = String.valueOf(i);
    key++;
}

np.setDisplayedValues(values);

当我点击选择值时: -1然后在-1处显示-19 在-2是-20 在-3是好的。

为什么?

首先点击价值:bad display 再次点击价值:good display

我没有任何处理程序。

解决:

values[key] = String.valueOf(i) + " ";

1 个答案:

答案 0 :(得分:0)

您正在阅读NumberPicker的值,但这些值与您的displayValues不一致。您需要将“真实”值[0-70]映射回displayValues [-20-50]。