Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使NumberPicker不重复出现_Android_Repeat_Recurring_Numberpicker - Fatal编程技术网

Android 如何使NumberPicker不重复出现

Android 如何使NumberPicker不重复出现,android,repeat,recurring,numberpicker,Android,Repeat,Recurring,Numberpicker,是否有任何属性告诉(标准)NumberPicker在其最后一个值之后停止? 例如,如果我的最小值为0,最大值为5,则NumberPicker只会在5之后重复自身,以便用户可以无休止地滚动。如果设置了最小值/最大值,请尝试以下操作: yourNumberPicker.setWrapSelectorWheel(false); 这对你有用吗 编辑 对于时间选择器: timePicker.setOnTimeChangedListener(new TimePicker.OnTimeChangedList

是否有任何属性告诉(标准)NumberPicker在其最后一个值之后停止?
例如,如果我的最小值为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(布尔值)需要注意的一件事
-系统根据值的范围决定是否换行,因此应在设置最小/最大值后调用此方法。