2

我需要用两个 numberPicker、pickerOne 和 pickerTwo 实现一个视图。pickerTwo 的值取决于pickerOne 的当前值,因此当用户滚动pickerOne 时,pickerTwo 中的值会发生变化。我已经实现了pickerOne,例如:

 NumberPicker pickerOne= new NumberPicker(context);

 pickerOne.setLayoutParams(new LinearLayout.LayoutParams(
            ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
 pickerOne.setDescendantFocusability(NumberPicker.FOCUS_BLOCK_DESCENDANTS); 
 pickerOne.setWrapSelectorWheel(false);
 pickerOne.setMinValue(0);
 pickerOne.setMaxValue(pickerOneValues.length-1);
 pickerOne.setDisplayedValues(pickerOneValues);
 pickerOne.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() {
     @Override
     public void onValueChange(NumberPicker numberPicker, int i, int i1) {
         Log.d("VALUE", "" + i1);
         updatePickerTwoValues(i1);
     }
 });

仅当用户逐步旋转(一次旋转)时,此代码才能正常工作,但如果用户进行“能量旋转”,则在短时间内多次调用 updatePickerTwoValues。There's a way to intercept when picker stop spinning, so only when spin stop, i can update pickerTwo values?

4

0 回答 0