如何在 android CalendarView 中显示特定月份?
How to show a specific month in android CalendarView?
我想使用 android CalendarView 向用户显示特定月份。请帮我实现这个功能。我写了下面的代码,但它不起作用。
CalendarView calendarView = (CalendarView) findViewById(R.id.calendarView);
Calendar calendar1 = Calendar.getInstance();
calendar1.set(2016, 6, 1);
Calendar calendar2 = Calendar.getInstance();
calendar2.set(2016, 6, 30);
calendarView.setMinDate(calendar1.DATE);
calendarView.setMaxDate(calendar2.DATE);
当我尝试使用上面的代码 运行 应用程序时,会出现以下输出。
提示:Calendar.DATE
的值是多少?文档说 5,所以当您调用此方法时,您说的是“1970 年 1 月 1 日过去 5 毫秒”。
Sets the minimal date supported by this CalendarView in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.
基本上,这是一个静态字段,可能不是您想要的值。
也许您想要 getTimeInMillis()
哪个 returns long
作为您设置日期的值?
calendarView.setMinDate(calendar1.getTimeInMillis());
calendarView.setMaxDate(calendar2.getTimeInMillis());
根据我的经验,我总是使用 Calender.set(Calendar.YEAR, year) 方法来设置年份和 Calender.set(Calendar.MONTH, month) 方法来设置月份和Calender.set(Calendar.DAY,day) 方法设置日期。所以我建议你也这样做,
String date = "1/6/2016";
String parts[] = date.split("/");
int day = Integer.parseInt(parts[0]);
int month = Integer.parseInt(parts[1]);
int year = Integer.parseInt(parts[2]);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
long milliTime = calendar.getTimeInMillis();
现在通过
在日历视图中设置所选日期
mCalendarView.setDate (milliTime, true, true);
我想使用 android CalendarView 向用户显示特定月份。请帮我实现这个功能。我写了下面的代码,但它不起作用。
CalendarView calendarView = (CalendarView) findViewById(R.id.calendarView);
Calendar calendar1 = Calendar.getInstance();
calendar1.set(2016, 6, 1);
Calendar calendar2 = Calendar.getInstance();
calendar2.set(2016, 6, 30);
calendarView.setMinDate(calendar1.DATE);
calendarView.setMaxDate(calendar2.DATE);
当我尝试使用上面的代码 运行 应用程序时,会出现以下输出。
提示:Calendar.DATE
的值是多少?文档说 5,所以当您调用此方法时,您说的是“1970 年 1 月 1 日过去 5 毫秒”。
Sets the minimal date supported by this CalendarView in milliseconds since January 1, 1970 00:00:00 in getDefault() time zone.
基本上,这是一个静态字段,可能不是您想要的值。
也许您想要 getTimeInMillis()
哪个 returns long
作为您设置日期的值?
calendarView.setMinDate(calendar1.getTimeInMillis());
calendarView.setMaxDate(calendar2.getTimeInMillis());
根据我的经验,我总是使用 Calender.set(Calendar.YEAR, year) 方法来设置年份和 Calender.set(Calendar.MONTH, month) 方法来设置月份和Calender.set(Calendar.DAY,day) 方法设置日期。所以我建议你也这样做,
String date = "1/6/2016";
String parts[] = date.split("/");
int day = Integer.parseInt(parts[0]);
int month = Integer.parseInt(parts[1]);
int year = Integer.parseInt(parts[2]);
Calendar calendar = Calendar.getInstance();
calendar.set(Calendar.YEAR, year);
calendar.set(Calendar.MONTH, month);
calendar.set(Calendar.DAY_OF_MONTH, day);
long milliTime = calendar.getTimeInMillis();
现在通过
在日历视图中设置所选日期 mCalendarView.setDate (milliTime, true, true);