Android 如何使NumberPicker不重复出现
是否有任何属性告诉(标准)NumberPicker在其最后一个值之后停止?Android 如何使NumberPicker不重复出现,android,repeat,recurring,numberpicker,Android,Repeat,Recurring,Numberpicker,是否有任何属性告诉(标准)NumberPicker在其最后一个值之后停止? 例如,如果我的最小值为0,最大值为5,则NumberPicker只会在5之后重复自身,以便用户可以无休止地滚动。如果设置了最小值/最大值,请尝试以下操作: yourNumberPicker.setWrapSelectorWheel(false); 这对你有用吗 编辑 对于时间选择器: timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedList
例如,如果我的最小值为0,最大值为5,则NumberPicker只会在5之后重复自身,以便用户可以无休止地滚动。如果设置了最小值/最大值,请尝试以下操作:
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);
}
});
这不是一个经过测试的代码,但这可能是你可以做到这一点的方式 这帮助了我:
public void updatePickerValues(String[] newValues){
picker.setDisplayedValues(null);
picker.setMinValue(0);
picker.setMaxValue(newValues.length -1);
picker.setWrapSelectorWheel(false);
picker.setDisplayedValues(newValues);
}
显然,顺序很重要。它就像一个符咒。这正是我想要的,非常感谢你!你不会碰巧知道时间采集器的等价物吗?对于时间采集器来说,这是不可能的。有不同的方法可以做到这一点。例如,你可以做你自己的时间选择器。或者,更简单的方法是,将时间选择器设置为OnTimeChangedListener,每次达到最大值时,使用setCurrentMinute/setCurrentHour方法并设置最小值/最大值。稍后我试着给你举个例子,但现在我必须赶快开始工作。请看我的编辑…它没有经过测试,但可以以类似的方式工作关于
NumberPicker.setWrapSelectorWheel(布尔值)需要注意的一件事
-系统根据值的范围决定是否换行,因此应在设置最小/最大值后调用此方法。