android:TimePickerDialog 阻止用户选择过去的时间,并且可以选择具有新日期的未来时间 [英] android: TimePickerDialog prevent user select past time and can select future time with new date
问题描述
我正在使用此链接Android TimePickerDialog 设置最大时间.
我是安卓新手.在这段代码的帮助下,我无法选择过去的时间,但我们无法选择未来的时间.在 timepickerdialog 模式中选择 12 时,根据第二天而不是过去一天自动更改为上午.
试试这个代码:
TimePickerFragment timePickerFragment = new TimePickerFragment();timePickerFragment.setOnTimeSetListener(new OnTimeSetListener() {public void onTimeSet(TimePicker view, int hourOfDay, int minute) {日历日期时间 = Calendar.getInstance();日历 c = Calendar.getInstance();datetime.set(Calendar.HOUR_OF_DAY,hourOfDay);datetime.set(Calendar.MINUTE, 分钟);if (datetime.getTimeInMillis() >= c.getTimeInMillis()) {//它在当前之后int 小时 = hourOfDay % 12;btnPickStartTime.setText(String.format("%02d:%02d %s", 小时 == 0 ? 12 : 小时,分钟,hourOfDay <12 ?上午下午"));} 别的 {//它在当前之前'Toast.makeText(getApplicationContext(), "无效时间", Toast.LENGTH_LONG).show();}}});timePickerFragment.show(getSupportFragmentManager(), "TIME");
它将显示 timepicker
对话框,如果用户选择当前时间之前的任何时间...它将显示无效时间..
编辑您需要导入:
import android.app.TimePickerDialog;导入 android.app.Fragment;导入 android.app.DialogFragment;导入 java.util.Calendar;导入 android.widget.TimePicker;
这是一个很好的示例>
I am using this link Android TimePickerDialog set max time.
I am new in android. With the help of this code, I cannot select past time but we cannot select future time. When 12 is selected in timepickerdialog mode change to am automatically according to the next day not past day.
try this code:
TimePickerFragment timePickerFragment = new TimePickerFragment();
timePickerFragment.setOnTimeSetListener(new OnTimeSetListener() {
public void onTimeSet(TimePicker view, int hourOfDay, int minute) {
Calendar datetime = Calendar.getInstance();
Calendar c = Calendar.getInstance();
datetime.set(Calendar.HOUR_OF_DAY, hourOfDay);
datetime.set(Calendar.MINUTE, minute);
if (datetime.getTimeInMillis() >= c.getTimeInMillis()) {
//it's after current
int hour = hourOfDay % 12;
btnPickStartTime.setText(String.format("%02d:%02d %s", hour == 0 ? 12 : hour,
minute, hourOfDay < 12 ? "am" : "pm"));
} else {
//it's before current'
Toast.makeText(getApplicationContext(), "Invalid Time", Toast.LENGTH_LONG).show();
}
}
});
timePickerFragment.show(getSupportFragmentManager(), "TIME");
it will show the timepicker
dialog and if user select any time before current time... it will show invalid time..
EDIT You need to import:
import android.app.TimePickerDialog;
import android.app.Fragment;
import android.app.DialogFragment;
import java.util.Calendar;
import android.widget.TimePicker;
Here is a Good Example
这篇关于android:TimePickerDialog 阻止用户选择过去的时间,并且可以选择具有新日期的未来时间的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!