安卓日历视图的日期选择器

4

我正在使用一个日期选择器,并设置了当前日期。当在Nexus 7上打开视图时,除了日期选择器之外,我们还可以看到一个日历。虽然我将日期选择器正确设置为今天,但日历视图显示的是2100年。

DatePickerDialog tempDialog = new DatePickerDialog(getActivity(), this, cur_year, cur_month, cur_day);
tempDialog.getDatePicker().setMinDate(today.getTimeInMillis());

as you see date spinner is proper, but calendar view is on year 2100 november


使用您的日历代码编辑问题。 - Engr Waseem Arain
这是我写的全部内容,其余部分是我调用show()函数。我将Spinner的最小日期设置为当前日期,但日历却可以选择到2100年。 - harshal
我有完全相同的问题。你最终解决了吗? - Hackmodford
不,我必须隐藏日历部分并继续前进。 - harshal
1个回答

0

使用init来启动日历对话框。

        final Calendar calendarRange = Calendar.getInstance();
        final int maxYear = calendarRange.get(Calendar.YEAR);
        final int maxMonth = calendarRange.get(Calendar.MONTH);
        final int maxDay = calendarRange.get(Calendar.DAY_OF_MONTH);

        tempDialog.init(maxYear, maxMonth, maxDay,
                new OnDateChangedListener() {

                    public void onDateChanged(DatePicker view, int year,
                            int month, int day) {
                        Calendar newDate = Calendar.getInstance();
                        newDate.set(year, month, day);

                        if (calendarRange.before(newDate)) {
                            view.init(maxYear, maxMonth, maxDay, this);
                        }

                    }
                });

然后使用这段代码:

Calendar cal = Calendar.getInstance();
int maxYear = cal.get(Calendar.YEAR);
int maxMonth = cal.get(Calendar.MONTH);
int maxDay = cal.get(Calendar.DAY_OF_MONTH);

DatePickerDialog dialog =
    new DatePickerDialog(this, mDateSetListener, maxYear , maxMonth , maxDay);
dialog.show();

DatePickerDialog 没有 init() 方法。 - harshal

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接