Android NumberPicker,当选择器停止滚动时拦截

Android NumberPicker,当选择器停止滚动时拦截,android,numberpicker,android-number-picker,Android,Numberpicker,Android Number Picker,我需要用两个数字picker实现一个视图,pickerOne和pickerTwo。pickerTwo值取决于pickerOne的当前值,所以当用户滚动pickerOne时,pickerTwo中的值会发生变化。我已经实现了pickerOne,如: NumberPicker pickerOne= new NumberPicker(context); pickerOne.setLayoutParams(new LinearLayout.LayoutParams( View

我需要用两个数字picker实现一个视图,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);
     }
 });
只有当用户一步一步地旋转(一次旋转一圈)时,此代码才能正常工作,但如果用户在短时间内进行“能量旋转”,则称为多次旋转。
有一种方法可以在选择器停止旋转时进行拦截,因此只有在旋转停止时,我才能更新选择器两个值?

嗯,它确实检查值是否更改,而不是选择器是否移动。我认为有一个单独的侦听器用于检测“最终”更改请参考问题。您可以覆盖onScrollStateChange,并在状态为SCROLL\u state\u IDLEDid时进行检查。您找到了解决方案吗?@dalla92感谢分享信息