Android datepicker根据年份禁用日期

时间:2014-04-01 09:38:37

标签: android android-datepicker

我已成功在我的应用中实现了datepicker对话框,对于禁用日期有疑问,请查看我的代码

获得比当年高13年的年份

 DateFormat df = new SimpleDateFormat("MM/dd/yyyy");

            String now = df.format(new java.util.Date());
            String[] datevalues = now.split("/");

            int yearsum = Integer.parseInt(datevalues[2]);
            int i;
            for (i = 0; i < 13; i++) {

                yearsum = yearsum - 1;
                Log.d("i", "i" + i + yearsum);
            }
            finaldate = yearsum;

我的DatePicker对话框

Calendar calender = Calendar.getInstance();
                int year = calender.get(Calendar.YEAR);
                int month = calender.get(Calendar.MONTH);
                int day = calender.get(Calendar.DAY_OF_MONTH);

                Date newDate = new Date(Long.parseLong(getString(finaldate)));

                DatePickerDialog dialog = new DatePickerDialog(Signup.this,
                        new DateListener(), year, month, day);


                             // To set the maximum year

                dialog.getDatePicker().setMaxDate(finaldate);

                dialog.show();

现在我需要显示截止日期为当前日期之前13年的日期,

我使用了dialog.getDatePicker().setMaxDate(finaldate); 行过滤日期,但没有运气。已尝试谷歌但dint得到正确的解决方案。帮我解决问题。

由于

1 个答案:

答案 0 :(得分:2)

计算13年前的日期:

Calendar then = Calendar.getInstance();
then.add(Calendar.YEAR, -13);

将其作为日期选择器中的最大日期:

...getDatePicker().setMaxDate(then.getTimeInMillis());