Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/230.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/three.js/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 在datepicker中禁用未来日期选择_Android_Android Alertdialog_Android Datepicker - Fatal编程技术网

Android 在datepicker中禁用未来日期选择

Android 在datepicker中禁用未来日期选择,android,android-alertdialog,android-datepicker,Android,Android Alertdialog,Android Datepicker,这是我的日期选择器对话框代码。我想在“日期选择器”对话框中禁用未来日期选择 有人能建议怎么做吗 @Override protected Dialog onCreateDialog(int id) { // TODO Auto-generated method stub switch(id) { case 1: Calendar cal=Calendar.getInstance(); Toast.makeTex

这是我的日期选择器对话框代码。我想在“日期选择器”对话框中禁用未来日期选择

有人能建议怎么做吗

@Override
protected Dialog onCreateDialog(int id)
{
    // TODO Auto-generated method stub
    switch(id)
    {
        case 1:
            Calendar cal=Calendar.getInstance();
            Toast.makeText(DateActivity.this, "- onCreateDialog -", Toast.LENGTH_LONG).show();
            return new DatePickerDialog(this,myDateSetListener,cal.get(Calendar.YEAR), cal.get(Calendar.MONTH)+1, cal.get(Calendar.DAY_OF_YEAR));

        default:
            return null;
    }
}

private DatePickerDialog.OnDateSetListener myDateSetListener = new DatePickerDialog.OnDateSetListener()
{
    @Override
    public void onDateSet(DatePicker view, int year, int monthOfYear, int dayOfMonth)
    {
        // TODO Auto-generated method stub
        String date = "Year: " + String.valueOf(year) + "\n"
                    + "Month: " + String.valueOf(monthOfYear+1) + "\n"
                    + "Day: " + String.valueOf(dayOfMonth);

        Toast.makeText(DateActivity.this, date,Toast.LENGTH_LONG).show();
    }
};

OnDateChangedListener
设置为
DateTimePicker
,其中

onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth)

检查日期是否在允许的范围内,如果不在允许的范围内,请调用查看。使用允许的最大日期更新日期。

在onCreateDialog中使用此方法,解决了未来日期不能在日期选择器dailog上选择的问题

@Override
protected Dialog onCreateDialog(int id) {
    switch (id) {
    case DATE_DIALOG_ID:
        DatePickerDialog mDatePickerDialog = new DatePickerDialog(this, mDateSetListener, intYear, intMonth, intDay);
        mDatePickerDialog.getDatePicker().setMaxDate(System.currentTimeMillis()); // Important as Future date not selection
        return mDatePickerDialog;
    }
    return null;
}

yourdatepicker.getDatePicker().setMaxDate(System.currentTimeMillis())

谢谢你的帮助Axarydaxth这真的只是重复。