Изменение отображаемых значений 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 это работает как шарм.

Другие вопросы по тегам