如何在android中动态设置时间选择器的最小值和最大值?
我有时间选择器,我想动态设置时间选择器的最小值和最大值,例如:获取当前时间加上2:30小时作为最小值,最大值为11:00 pm 时间选择器对话框如何在android中动态设置时间选择器的最小值和最大值?,android,android-dialogfragment,android-timepicker,Android,Android Dialogfragment,Android Timepicker,我有时间选择器,我想动态设置时间选择器的最小值和最大值,例如:获取当前时间加上2:30小时作为最小值,最大值为11:00 pm 时间选择器对话框 public class Time_picker extends DialogFragment{ OnTimeSetListener ontimeSet; int minHour; int minMinute; private int maxHour = 24; private int maxMinute =00; DateFormat date
public class Time_picker extends DialogFragment{
OnTimeSetListener ontimeSet;
int minHour;
int minMinute;
private int maxHour = 24;
private int maxMinute =00;
DateFormat dateFormat;
public Time_picker() {
}
public void setCallBack(OnTimeSetListener ontime) {
ontimeSet = ontime;
}
private int hours, minutes;
@Override
public void setArguments(Bundle args) {
super.setArguments(args);
hours = args.getInt("hours");
minutes = args.getInt("minute");
minHour = hours;//current time plus 2:30hrs
minMinute = -1;
}
@Override
public Dialog onCreateDialog(Bundle savedInstanceState) {
TimePickerDialog _time = new TimePickerDialog(getActivity(), ontimeSet, hours, minutes,false){
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
try{
boolean validTime;
if(hourOfDay < minHour) {
validTime = false;
}
else if(hourOfDay == minHour) {
validTime = minute >= minMinute;
}
else if(hourOfDay == maxHour) {
validTime = minute <= maxMinute;
}
else {
validTime = true;
}
if(validTime) {
hours = hourOfDay;
minutes = minute;
}
else {
updateTime(hours, minutes);
}
}catch(Exception e){
}
}
};
return _time;
}
}
公共类时间\u选择器扩展DialogFragment{
OnTimeSetListener ontimeSet;
分钟内;
int分钟;
私有整数maxHour=24;
私有整数最大分钟=00;
日期格式日期格式;
公共时间选择器(){
}
公共void setCallBack(OnTimeSetListener ontime){
ontimeSet=ontime;
}
私人整数小时,分钟;
@凌驾
公共void setArguments(Bundle args){
super.setArguments(args);
小时=args.getInt(“小时”);
分钟=args.getInt(“分钟”);
minHour=小时;//当前时间加上2:30小时
分钟=-1;
}
@凌驾
创建对话框上的公共对话框(Bundle savedInstanceState){
TimePickerDialog\u time=new TimePickerDialog(getActivity(),ontimeSet,hours,minutes,false){
@凌驾
公共void onTimeChanged(时间选择器视图,整数小时日,整数分钟){
//TODO自动生成的方法存根
试一试{
布尔有效时间;
如果(小时日<分钟小时){
validTime=false;
}
否则如果(hourOfDay==分钟小时){
有效时间=分钟>=分钟;
}
否则如果(hourOfDay==maxHour){
validTime=分钟可能对您有所帮助