【发布时间】:2012-11-13 06:16:56
【问题描述】:
是否有任何属性可以告诉(标准)NumberPicker 在其最后一个值之后停止? 例如。如果我的 MinValue 为 0 而我的 MaxValue 为 5,NumberPicker 只会在 5 之后重复,这样用户就可以无休止地滚动。
【问题讨论】:
标签: android repeat recurring numberpicker
是否有任何属性可以告诉(标准)NumberPicker 在其最后一个值之后停止? 例如。如果我的 MinValue 为 0 而我的 MaxValue 为 5,NumberPicker 只会在 5 之后重复,这样用户就可以无休止地滚动。
【问题讨论】:
标签: android repeat recurring numberpicker
如果你设置了最小值/最大值,试试这个:
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);
}
});
这不是经过测试的代码,但这可能是您可以执行此操作的方式。
【讨论】:
NumberPicker.setWrapSelectorWheel(boolean) 需要注意的一点 - 系统根据值的范围决定是否换行,因此应该在 设置 min/ 之后调用此方法最大值。
这个Answer帮助了我:
public void updatePickerValues(String[] newValues){
picker.setDisplayedValues(null);
picker.setMinValue(0);
picker.setMaxValue(newValues.length -1);
picker.setWrapSelectorWheel(false);
picker.setDisplayedValues(newValues);
}
显然顺序很重要。
【讨论】: