1

当用户更改第二个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 的当前值索引时,什么也没有发生。我也尝试过不同的听众,但结果是一样的。我在这里做错了什么?提前致谢!

4

1 回答 1

1

我的错是我忘记在每个案例之后添加中断/返回。添加后break它就像一个魅力。

于 2018-08-03T11:49:47.363 回答