Изменение отображаемых значений NumberPicker
Я хочу изменить свои первые значения NumberPicker, когда пользователь изменяетвторой индекс текущего значенияNumberPicker. Я попробовал этот код для достижения этого:
weightPostfixNumberPicker.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
@Override
public void onValueChange(NumberPicker numberPicker, int oldValue, int newValue) {
switch (numberPicker.getValue()) {
case 0:
setNewValues(weightKgArray);
case 1:
setNewValues(weightLbArray);
}
}
}); //...
private void setNewValues(String[] values) {
weightNumberPicker.setDisplayedValues(null);
weightNumberPicker.setMinValue(0);
weightNumberPicker.setMaxValue(values.length-1);
weightNumberPicker.setWrapSelectorWheel(false);
weightNumberPicker.setDisplayedValues(values);
}
Но это работает только один раз, и когда я снова изменяю текущий индекс значения weightPostfixNumberPicker, ничего не происходит. Я также пробовал разных слушателей, но результат тот же. Что я тут не так делаю? Заранее спасибо!
1 ответ
Решение
Моя вина была в том, что я забываю добавлять разрыв / возврат после каждого случая. После добавления break
это работает как шарм.