我想弄清楚如何在活动创建期间在CalendarView中设置一个特定日期的焦点,该日期已知并存储在一个单独的字符串变量中,让我们说theDate
并具有dd/mm/yyyy
的格式。知道这一点,我可以使日历专注于特定日期吗?
本例中日历视图为mCalendarView
在CalendarView中试试这个方法:http://developer.android.com/reference/android/widget/CalendarView.html设置当前日期(长)
对于在dd/mm/yyyy格式之间转换为毫秒格式,我建议您将日期存储为毫秒格式,只有在显示日期时才转换为dd/mm/yyyy格式。但是,如果您必须使用dd/mm/yyyy格式,我会尝试以下操作:
String date = "22/3/2014";
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);
这对我很有用:)
String selectedDate = "30/09/2016";
mCalendarView.setDate(new SimpleDateFormat("dd/MM/yyyy").parse(selectedDate).getTime(), true, true);