android - DatePickerDialog +/- 按钮的监听器

标签 android android-dialog android-datepicker

我目前正在我的 Android 应用程序中使用 DatePickerDialog

众所周知,对话框有三个 EditText:1) 天 2) 月 3) 年。并且有 + 和 - 三个按钮可以移动到所选字段的前面和后面。我需要知道对话框中是否存在“+”和“-”按钮的监听器?

这是因为,在我的应用中,我不希望用户使用对话框选择当前日期之前的先前日期。所以如果点击“-”按钮,它应该检查对话框中的日期是否小于当前日期。所以我需要一个对话框的“-”按钮的监听器。

此外,我正在为从 Froyo 到 KitKat 的所有平台开发此应用程序。我听说 DatePicker 有一个 setMinDate()。但它只能从 HoneyComb 获得。

最佳答案

尝试覆盖 onDateChnaged() 函数,这里是例子:

DatePickerDialog mDatePickerDialog = new DatePickerDialog(this, mDateSetListener,mYear, mMonth, mDay){
                @Override
                public void onDateChanged(DatePicker view, int year, int monthOfYear, int dayOfMonth){
                    // this function will call when user click on '+' or '-'. Apply validation here. you can call view.updateDate(mYear, mMonth, mDay); if u don't want to accept date that user trying to select by pressing +/- 
                    final Calendar c = Calendar.getInstance();
                    mYear = c.get(Calendar.YEAR);
                    mMonth = c.get(Calendar.MONTH);
                    mDay = c.get(Calendar.DAY_OF_MONTH);
                    /* this validation allow user to enter date less then current date */
                    if (year > mYear)
                        view.updateDate(mYear, mMonth, mDay);<p></p>

<pre><code>                if (monthOfYear > mMonth && year == mYear)
                    view.updateDate(mYear, mMonth, mDay);

                if (dayOfMonth > mDay && year == mYear && monthOfYear == mMonth)
                    view.updateDate(mYear, mMonth, mDay);
            }
        };
</code></pre>

<p>DatePickerDialog.OnDateSetListener mDateSetListener = new DatePickerDialog.OnDateSetListener() {
        public void onDateSet(DatePicker view, int year, int monthOfYear,int dayOfMonth) {
            // Add your code here to handle selected date event by user</p>

    }
};  

关于android - DatePickerDialog +/- 按钮的监听器,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25356356/

相关文章:

android - 如何使用 Drawable 从 drawable 文件夹中获取所有图像作为位图数组?

java - 如何设置对话框内文本的点击方法

android - 在 android 5.0 以下更改 alertDialog 的标题颜色

android - 选择 DatePickerDialog 时对话框 onCreateDialog 显示错误

java - 如何在Android中设置DatePicker和TimePicker的限制

android - React Native 致命崩溃

android - 在带有标题的操作栏上创建抽屉导航

java - ViewPager 的 fragment 被隐藏

android - 将 ConstraintLayout 与自定义 Android 对话框一起使用

android - 日期选择器仅显示在 android 中选择的年份