选择出生日期对话框

时间:2015-09-07 21:05:48

标签: android android-dialogfragment android-datepicker android-date

如何创建我可以选择出生日期的警报对话框:

我希望将来选择日期并非不可能。

如何在日期对话框中设置限制 这是我的代码

@Override
    protected Dialog onCreateDialog(int id) {
        switch (id) {
            case DATE_DIALOG_ID:
                final Calendar calendar = Calendar.getInstance();
                int yy = calendar.get(Calendar.YEAR);
                int mm = calendar.get(Calendar.MONTH);
                int dd = calendar.get(Calendar.DATE);
                return new DatePickerDialog(this, mDatePickerListener, yy, mm, dd);
        }
        return null;
    }

3 个答案:

答案 0 :(得分:2)

只需添加此

即可
org.springframework.beans.factory.BeanNotOfRequiredTypeException: 

答案 1 :(得分:1)

我建议使用非常酷的Material Design日期选择器library向后兼容。

您需要做的就是将以下行添加到您的gradle dependecies列表中:

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

然后你只需使用DatePickerDialog的setMinDate()和setYearRange()方法。

这样的事情:

compile 'com.wdullaer:materialdatetimepicker:1.5.2' // The latest at this point.

这有帮助吗?

答案 2 :(得分:0)

如果您在代码中使用kotlin,则对您有帮助

注意::textView保留要设置日期的文本的引用

private fun openDobPicker(textView: TextView) {
        val c = Calendar.getInstance()
        val year = c.get(Calendar.YEAR)
        val month = c.get(Calendar.MONTH)
        val day = c.get(Calendar.DAY_OF_MONTH)

        val dpd = DatePickerDialog(requireActivity(), DatePickerDialog.OnDateSetListener { view, year, monthOfYear, dayOfMonth ->
            val date = "${dayOfMonth}/${monthOfYear}/${year}"
            textView.text = date
        }, year, month, day)

        //restrict calendar to show future dates
        dpd.datePicker.maxDate = Date().time
        
        //If you want to limit the minimum date then do this
        //dpd.datePicker.minDate = PASSED_MIN_DATE_HERE
    

        
        dpd.show()
    }