我有一个将is24Hour设置为false的TimePickerDialog,因为我想向最终用户呈现更熟悉的12小时格式.设置小时,分钟和AM PM指示器并返回时间时,如何确定最终用户是选择了AM还是PM?
这就是我对听众的看法:
private TimePickerDialog.OnTimeSetListener mTimeSetListener =
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay,
int minute) {
mHour = hourOfDay;
mMinute = minute;
// mIsAM = WHERE CAN I GET THIS VALUE
}
};
Run Code Online (Sandbox Code Playgroud) 我想做一个类似提醒应用程序的东西.我想允许用户选择现在不是的日期和时间(至少从现在起5分钟),我还想禁止用户选择距离太远的日期 - 例如30天.我创建了datePicker和timePicker,使它们在按钮点击时弹出,但找不到设置最小值和最大值的方法.
public void showDateDialog() {
btnDate = (Button) findViewById(R.id.buttonDate);
btnDate.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(DATE_DIALOG_ID);
}
});
}
public void showTimeDialog() {
btnTime = (Button) findViewById(R.id.buttonTime);
btnTime.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
showDialog(TIME_DIALOG_ID);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DATE_DIALOG_ID:
// create a new DatePickerDialog with values you want to show
return new DatePickerDialog(this, datePickerListener, yearSet, monthSet, daySet);
// create a new TimePickerDialog with …Run Code Online (Sandbox Code Playgroud) 我正在使用此链接Android TimePickerDialog设置最大时间.
我是android新手.借助此代码,我无法选择过去的时间,但我们无法选择未来的时间.在timepickerdialog模式中选择12时,根据第二天而不是过去一天自动更改为am.
java android android-fragments android-studio android-timepicker
我有 12:00 PM 到 12:00 AM 的时间间隔。我想在时间选择器对话框中设置这个时间间隔。在时间选择器中禁用 12:00 PM 之前和 12:00 AM 之后的时间。我不知道如何在时间选择器对话框中设置时间。有人知道可以帮我解决这个问题吗?
时间选择器
private void showTimePicker(){
Time_picker time = new Time_picker();
Bundle args = new Bundle();
args.putInt("hours", c.get(Calendar.HOUR_OF_DAY)+2);
args.putInt("minute", c.get(Calendar.MINUTE)+30);
time.setArguments(args);
time.setCallBack(ontime);
time.show(((FragmentActivity) getActivity()).getSupportFragmentManager(), "Time Picker");
}
OnTimeSetListener ontime = new OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
try {
String _24HourTime = String.valueOf(hourOfDay)+":"+String.valueOf(minute);
SimpleDateFormat _24HourSDF = new SimpleDateFormat("HH:mm");
SimpleDateFormat _12HourSDF = new SimpleDateFormat("hh:mm a");
Date _24HourDt = _24HourSDF.parse(_24HourTime); …Run Code Online (Sandbox Code Playgroud) 如何控制TimePicker,我只想显示从上午08:00到下午02:00的时间范围(从上午08:00到下午02:00隐藏所有)
我已经编写了完整的代码来显示TimePicker和自定义时间.
这是我的代码:
case DIALOG_TIME:
final Calendar c = Calendar.getInstance();
int hour = c.get(Calendar.HOUR_OF_DAY);
int minute = c.get(Calendar.MINUTE);
// Create a new instance of TimePickerDialog and return it
return new TimePickerDialog(this, lisTime, hour, minute,
DateFormat.is24HourFormat(MainActivity.this));
TimePickerDialog.OnTimeSetListener lisTime = new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
// TODO Auto-generated method stub
String meridiem = "";
nim = minute;
Calendar datetime = Calendar.getInstance();
datetime.set(Calendar.HOUR_OF_DAY, hourOfDay);
datetime.set(Calendar.MINUTE, minute);
if (datetime.get(Calendar.AM_PM) == Calendar.AM)
meridiem = "AM";
else if …Run Code Online (Sandbox Code Playgroud) 我想在棒棒糖设备中显示较旧的时间选择器(如前棒棒糖设备时间选择器).这可能吗?
这是我的代码.请解释如何使用时间选择器对话框禁用过去的时间,并给出一些代码如何在此代码中禁用过去的时间以及如何使用android时间选择器对话框应用它.时间选择器对话框类没有任何setMinTime方法以及如何获取它.
time.setOnClickListener(new OnClickListener() {
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
Calendar mcurrentTime = Calendar.getInstance();
int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
int minute = mcurrentTime.get(Calendar.MINUTE);
TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(
FillServiceDetailActivity.this,
new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker,
int selectedHour, int selectedMinute) {
String AM_PM;
int hour;
String[] sp=currentTime.split(":");
int hour1=Integer.parseInt(sp[0]);
int min1=Integer.parseInt(sp[1]);
//Toast.makeText(FillServiceDetailActivity.this,"selected hour:\t"+String.valueOf(selectedHour),Toast.LENGTH_LONG).show();
String timeSet = "";
if (selectedHour > 12 && hour1>12) {
selectedHour -= 12;
hour1-=12;
timeSet = "PM";
} else if …Run Code Online (Sandbox Code Playgroud) 我想阻止用户输入当前时间之前的时间.我使用before提供的方法检查有效时间Date.如何防止对话框在此有效性检查中接受无效时间?
我在初始化所选时间(作为a Date)时省略了多余的代码.
final Calendar mcurrentTime = Calendar.getInstance();
final int hour = mcurrentTime.get(Calendar.HOUR_OF_DAY);
final int minute = mcurrentTime.get(Calendar.MINUTE);
final TimePickerDialog mTimePicker;
mTimePicker = new TimePickerDialog(MainActivity.this, new TimePickerDialog.OnTimeSetListener() {
@Override
public void onTimeSet(TimePicker timePicker, int selectedHour, int selectedMinute) {
//PSEUDO: Date selectedDateTime init here
if (selectedDateTime.before(mcurrentTime.getTime())) {
// prevent user from selecting time
}
}
}, hour, minute, true);//true = 24 hour time
mTimePicker.setTitle("Select Time");
mTimePicker.show();
Run Code Online (Sandbox Code Playgroud)