我试图弄清楚如何在活动创建期间在CalendarView中设置焦点在特定日期,日期已知并存储在单独的字符串变量中,例如theDate
并且格式为dd/mm/yyyy
了解这一点,我可以将日历重点放在特定日期吗?
在这种情况下,假设日历视图为mCalendarView
。
答案 0 :(得分:7)
在CalendarView中尝试此方法: http://developer.android.com/reference/android/widget/CalendarView.html#setDate(long)
至于在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);
答案 1 :(得分:2)
这适用于我:)
String selectedDate = "30/09/2016";
mCalendarView.setDate(new SimpleDateFormat("dd/MM/yyyy").parse(selectedDate).getTime(), true, true);