Java 在Android Studio中使用两次
在Android Studio中尝试两次。具体来说,是下午5点和11点。我可以让它进入这两个时间之间,但当我选择一个时间,一分钟不是11:00PM或5:00PM,它就变成了现实。有没有更简单的方法 这是到目前为止我的代码Java 在Android Studio中使用两次,java,android,Java,Android,在Android Studio中尝试两次。具体来说,是下午5点和11点。我可以让它进入这两个时间之间,但当我选择一个时间,一分钟不是11:00PM或5:00PM,它就变成了现实。有没有更简单的方法 这是到目前为止我的代码 Calendar c = Calendar.getInstance(); DateFormat timeFormat = DateFormat.getTimeInstance(DateFormat.SHORT); TimePickerDialog.OnTimeSetListen
Calendar c = Calendar.getInstance();
DateFormat timeFormat = DateFormat.getTimeInstance(DateFormat.SHORT);
TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
c.set(Calendar.HOUR_OF_DAY, hourOfDay);
c.set(Calendar.MINUTE, minute);
if(hourOfDay >= 23 && hourOfDay <= 17){
reservation.setText("The time that your food will arrive will be " + timeFormat.format(c.getTime()) + ".");
}else{
reservation.setText("Please select a time between 5PM and 11PM");
}
//reservation.setText(hourOfDay + " " + minute);
}
Calendar c=Calendar.getInstance();
DateFormat timeFormat=DateFormat.getTimeInstance(DateFormat.SHORT);
TimePickerDialog.OnTimeSetListener t=新的TimePickerDialog.OnTimeSetListener(){
@凌驾
时间集上的公共void(时间选择器视图,整数小时日,整数分钟){
c、 设置(日历小时/天,小时/天);
c、 设置(日历、分钟、分钟);
如果(hourOfDay>=23&&hourOfDay检查小时数为23时的分钟数
if((hourOfDay >= 17 && hourOfDay <= 22)||(hourOfDay==23 && minute==0)) {
//within 15:00 to 23:00
}else {
//outside of time
}
if((hourOfDay>=17&&hourOfDayif(hourOfDay>=23&&hourOfDay您可以使用下面的小部件显示带有范围设置的时间对话框
package com.mysuger.android.dialogs;
import java.lang.reflect.Field;
import java.text.DateFormat;
import java.util.Calendar;
import android.app.TimePickerDialog;
import android.content.Context;
import android.widget.TimePicker;
/**
* A time dialog that allows setting a min and max time.
*
*/
public class RangeTimePickerDialog extends TimePickerDialog {
private int minHour = -1;
private int minMinute = -1;
private int maxHour = 25;
private int maxMinute = 25;
private int currentHour = 0;
private int currentMinute = 0;
private Calendar calendar = Calendar.getInstance();
private DateFormat dateFormat;
public RangeTimePickerDialog(Context context, OnTimeSetListener callBack, int hourOfDay, int minute, boolean is24HourView) {
super(context, callBack, hourOfDay, minute, is24HourView);
currentHour = hourOfDay;
currentMinute = minute;
dateFormat = DateFormat.getTimeInstance(DateFormat.SHORT);
try {
Class<?> superclass = getClass().getSuperclass();
Field mTimePickerField = superclass.getDeclaredField("mTimePicker");
mTimePickerField.setAccessible(true);
TimePicker mTimePicker = (TimePicker) mTimePickerField.get(this);
mTimePicker.setOnTimeChangedListener(this);
} catch (NoSuchFieldException e) {
} catch (IllegalArgumentException e) {
} catch (IllegalAccessException e) {
}
}
public void setMin(int hour, int minute) {
minHour = hour;
minMinute = minute;
}
public void setMax(int hour, int minute) {
maxHour = hour;
maxMinute = minute;
}
@Override
public void onTimeChanged(TimePicker view, int hourOfDay, int minute) {
boolean validTime = true;
if (hourOfDay < minHour || (hourOfDay == minHour && minute < minMinute)){
validTime = false;
}
if (hourOfDay > maxHour || (hourOfDay == maxHour && minute > maxMinute)){
validTime = false;
}
if (validTime) {
currentHour = hourOfDay;
currentMinute = minute;
}
updateTime(currentHour, currentMinute);
updateDialogTitle(view, currentHour, currentMinute);
}
private void updateDialogTitle(TimePicker timePicker, int hourOfDay, int minute) {
calendar.set(Calendar.HOUR_OF_DAY, hourOfDay);
calendar.set(Calendar.MINUTE, minute);
String title = dateFormat.format(calendar.getTime());
setTitle(title);
}
}
有关详细信息,请参阅
Calendar c = Calendar.getInstance();
DateFormat timeFormat = DateFormat.getTimeInstance(DateFormat.SHORT);
TimePickerDialog.OnTimeSetListener t = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
c.set(Calendar.HOUR_OF_DAY, hourOfDay);
c.set(Calendar.MINUTE, minute);
reservation.setText("The time that your food will arrive will be " + timeFormat.format(c.getTime()) + ".");
}
RangeTimePickerDialog d = new RangeTimePickerDialog(Activity.this, t, 17, 0, true);
d.setMin(17, 0);
d.setMax(23, 0);
d.show();