34

是否有任何属性可以告诉(标准)NumberPicker 在其最后一个值之后停止?例如,如果我的 MinValue 是 0 而我的 MaxValue 是 5,NumberPicker 只会在 5 之后重复,这样用户就可以无休止地滚动。

4

2 回答 2

72

如果您设置了最小值/最大值,请尝试以下操作:

yourNumberPicker.setWrapSelectorWheel(false);

这对你有用吗?

编辑

对于时间选择器:

timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedListener() {
   public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
     if(hourOfDay>max) {
       TimePicker.setHour(max):
     }
     updateDisplay(hourOfDay, minute);
   }
});

它不是经过测试的代码,但这可能是您可以执行此操作的方式。

于 2012-11-25T18:35:27.020 回答
8

这个答案帮助了我:

public void updatePickerValues(String[] newValues){
  picker.setDisplayedValues(null);
  picker.setMinValue(0);
  picker.setMaxValue(newValues.length -1);
  picker.setWrapSelectorWheel(false);
  picker.setDisplayedValues(newValues);
}

显然顺序很重要。

于 2016-05-25T07:08:09.770 回答