Android 将日历选择限制为仅一个月

Android 将日历选择限制为仅一个月,android,calendarview,Android,Calendarview,我正在使用日历视图选择产品的交付日期。我只想在日历视图中显示当前日期后的一个完整月份 比如说: 今天的日期:2019年4月4日-日历视图应仅显示至2019年5月31日,而不应显示上个月 另一个示例:如果今天的日期为:2019年8月15日-日历视图应仅显示至2019年9月30日,而不应显示前一个月 这可能吗?如果是这样的话,在我看到的情况下,如何显示它?每当我单击箭头时,默认日历视图将显示所有年份的正负号?这可能会对您有所帮助。 Calendar myCalendar = Calendar.get

我正在使用日历视图选择产品的交付日期。我只想在日历视图中显示当前日期后的一个完整月份

比如说:

今天的日期:2019年4月4日-日历视图应仅显示至2019年5月31日,而不应显示上个月

另一个示例:如果今天的日期为:2019年8月15日-日历视图应仅显示至2019年9月30日,而不应显示前一个月


这可能吗?如果是这样的话,在我看到的情况下,如何显示它?每当我单击箭头时,默认日历视图将显示所有年份的正负号?

这可能会对您有所帮助。

Calendar myCalendar = Calendar.getInstance();
        DatePickerDialog.OnDateSetListener date = (view, year, monthOfYear, dayOfMonth) -> {
            // TODO Auto-generated method stub
            myCalendar.set(Calendar.YEAR, year);
            myCalendar.set(Calendar.MONTH, monthOfYear);
            myCalendar.set(Calendar.DAY_OF_MONTH, dayOfMonth);
        };
调用日历视图时

yourView.setOnClickListener(v -> {
            DatePickerDialog dialog = new DatePickerDialog(AddReview.this, date, myCalendar
                    .get(Calendar.YEAR), myCalendar.get(Calendar.MONTH),
                    myCalendar.get(Calendar.DAY_OF_MONTH));
            myCalendar.add(Calendar.DATE, 30);// This line adds days to MaxDate.
            dialog.getDatePicker().setMaxDate(myCalendar.getTime().getTime());
            dialog.getDatePicker().setMinDate(new Date().getTime());
            dialog.show();
        });

现在您可以根据当前日期计算您的天数,并相应地增加限额

如果我是对的:它将显示从选择日期起30天。例如,今天是4月4日,根据您的逻辑,日历视图将显示到5月4日。如果是这样的话,这对我来说是行不通的。@SanjanaNair你需要计算这个月和下个月的剩余天数,并用30天来代替它,我想这是你唯一需要做的事情。根据你的问题,我已经尽力回答了。如果它不适合你,就没有问题。