如何在CalendarView知道日期的特定日期设置焦点是“dd / mm / yyyy”

时间:2014-03-22 20:25:42

标签: java android calendarview

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

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

2 个答案:

答案 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);