2

我试图弄清楚如何在活动创建期间将焦点设置在 CalendarView 中的特定日期,日期是已知的并存储在一个单独的字符串变量中,可以说theDate并且具有dd/mm/yyyy知道这一点的格式,我可以将日历焦点放在一个具体日期?

假设日历视图mCalendarView在这种情况下。

4

2 回答 2

9

在 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); 
于 2014-03-22T21:44:22.843 回答
4

这对我有用:)

    String selectedDate = "30/09/2016";
    mCalendarView.setDate(new SimpleDateFormat("dd/MM/yyyy").parse(selectedDate).getTime(), true, true);
于 2016-09-30T09:04:30.637 回答