如何限制用户不要从android中的日历视图中选择未来日期

时间:2014-02-18 06:56:55

标签: android

我需要限制用户从日历视图中选择未来日期。它可以是错误消息,也可以是选择未来日期时可以提供帮助的任何其他方法。 请随时教我。

CV = (CalendarView) findViewById(R.id.calendarView1);
CV.setOnDateChangeListener(new OnDateChangeListener() {

        @Override
        public void onSelectedDayChange(CalendarView view, int year, int month,
                int dayOfMonth) {
            // TODO Auto-generated method stub
            cvSTR = dayOfMonth+" : "+(month+1)+" : "+year;
            Toast.makeText(getBaseContext(),"Selected Date is\n\n"+cvSTR, 
            Toast.LENGTH_SHORT).show();
            MyDay = String.valueOf(dayOfMonth);
            MyMonth = String.valueOf(month+1);
            MyYear = String.valueOf(year);
        }
        });

2 个答案:

答案 0 :(得分:0)

添加:

Date maxDate = new Date(); //set your max date here
CV.setMaxDate(maxDate.getTime());

答案 1 :(得分:0)

使用DatePicker方法获取DatePickerDialog中使用的getDatePicker()并使用setDate(Long millis)方法。

将您必须设置的最大日期(以Epoch为单位的毫秒数)传递给它。

所以你可以做点什么

Calendar c = Calendar.getInstance();
SimpleDateFormat sdf = new SimpleDateFormat("dd/MM/yyyy");
String formattedDate = df.format(c.getTime());

CV = (CalendarView) findViewById(R.id.calendarView1);
CV.setMaxDate(d.getTime());