在Android中使用未来日期限制日期选择器

Posted

技术标签:

【中文标题】在Android中使用未来日期限制日期选择器【英文标题】:Restrict date picker with future date in Android 【发布时间】:2015-06-03 06:16:18 【问题描述】:

我正在使用日期选择器来选择日期的 android 应用程序。我正在使用它作为出生日期,现在我想限制用户不要选择任何未来的日期。

我的代码如下:

private void checkDate()
        final Calendar c = Calendar.getInstance();
        mSelectedYear = c.get(Calendar.YEAR);
        mSelectedMonth = c.get(Calendar.MONTH);
        mSelectedDay = c.get(Calendar.DAY_OF_MONTH);
    

txtDateOfBirth.setOnClickListener(new View.OnClickListener() 

            @Override
            public void onClick(View v) 
                showDialog(mDATE_PICKER_ID);
            
        );


    @Override
        protected Dialog onCreateDialog(int id) 
            switch (id) 
            case mDATE_PICKER_ID:
                return new DatePickerDialog(this, pickerListener, mSelectedYear,mSelectedMonth, mSelectedDay);
            
            return null;
        

        private DatePickerDialog.OnDateSetListener pickerListener = new DatePickerDialog.OnDateSetListener() 

            @Override
            public void onDateSet(DatePicker view, int selectedyear,
                    int selectedmonth, int selectedday) 
                mSelectedYear = selectedyear;
                mSelectedMonth = selectedmonth;
                mSelectedDay = selectedday;

                txtDateOfBirth.setText(new StringBuilder().append(mSelectedMonth + 1).append("-").append(mSelectedDay).append("-").append(mSelectedYear).append(" "));
                mDateSelected = new StringBuilder().append(mSelectedDay).append("-").append(mSelectedMonth + 1).append("-").append(mSelectedYear).toString();
            

        ;

【问题讨论】:

【参考方案1】:

使用它来将对话框限制在当前日期:

datePicker.getDatePicker().setMaxDate(new Date().getTime());

但请记住,它仅适用于 API 11 或更高版本

【讨论】:

你能检查我编辑过的问题,并说明我应该在哪里纠正这条线来限制我的选择器。

以上是关于在Android中使用未来日期限制日期选择器的主要内容,如果未能解决你的问题,请参考以下文章

如何从未来日期限制引导日期选择器

如何在 React 本机 ios/android datepicker 中限制日期选择

在日期选择器中设置最大日期时可以选择未来日期

android有月份选择器吗?或者怎么让日期选择器的日期不显示,只显示年份和月份

无法选择当前日期作为未来日期

如何限制用户从日期选择器中选择过去的日期?