Sun*_*Sun 16 android android-datepicker
如何在DatePicker对话框中隐藏过去的日期?我不想让用户选择过去的日期
什么是最好的方式?如果我想限制用户只选择未来的日期!
@Override
public void onCreate(Bundle savedInstanceState)
{
.................................................
editDate.setOnClickListener(new View.OnClickListener() {
@SuppressWarnings("deprecation")
@Override
public void onClick(View v) {
// TODO Auto-generated method stub
showDialog(DIALOG_DATE);
}
});
}
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_DATE:
return new DatePickerDialog(this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year,
int monthOfYear, int dayOfMonth) {
dateTime.set(year, monthOfYear, dayOfMonth);
editDate.setText(dateFormatter
.format(dateTime.getTime()));
}
}, dateTime.get(Calendar.YEAR),
dateTime.get(Calendar.MONTH),
dateTime.get(Calendar.DAY_OF_MONTH));
}
return null;
}
}
Run Code Online (Sandbox Code Playgroud)
Nir*_*tel 10
您必须使用setMinDate作为最短日期,如果要设置最大日期,还可以使用setMaxDate.
下面是示例代码SetMinDate的DatePickerDialog.
@Override
protected Dialog onCreateDialog(int id) {
switch (id) {
case DIALOG_DATE:
DatePickerDialog mDatePickerDialog = new DatePickerDialog(this, new OnDateSetListener() {
@Override
public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth) {
dateTime.set(year, monthOfYear, dayOfMonth);
editDate.setText(dateFormatter.format(dateTime.getTime()));
}
}, dateTime.get(Calendar.YEAR), dateTime.get(Calendar.MONTH), dateTime.get(Calendar.DAY_OF_MONTH));
Calendar mCalendarMinimum = Calendar.getInstance();
mCalendarMinimum.add(Calendar.HOUR, -1);
mDatePickerDialog.getDatePicker().setMinDate(mCalendarMinimum.getTimeInMillis());
return mDatePickerDialog;
}
return null;
}
Run Code Online (Sandbox Code Playgroud)
您可以使用setMinDate(long minDate)来实现目标.Doc说:
Sets the minimal date supported by this NumberPicker in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1598 次 |
| 最近记录: |