我试图弄清楚如何在活动创建期间将焦点设置在 CalendarView 中的特定日期,日期是已知的并存储在一个单独的字符串变量中,可以说theDate
并且具有dd/mm/yyyy
知道这一点的格式,我可以将日历焦点放在一个具体日期?
假设日历视图mCalendarView
在这种情况下。
我试图弄清楚如何在活动创建期间将焦点设置在 CalendarView 中的特定日期,日期是已知的并存储在一个单独的字符串变量中,可以说theDate
并且具有dd/mm/yyyy
知道这一点的格式,我可以将日历焦点放在一个具体日期?
假设日历视图mCalendarView
在这种情况下。
在 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);
这对我有用:)
String selectedDate = "30/09/2016";
mCalendarView.setDate(new SimpleDateFormat("dd/MM/yyyy").parse(selectedDate).getTime(), true, true);