代码之家  ›  专栏  ›  技术社区  ›  Ilja

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

  •  3
  • Ilja  · 技术社区  · 10 年前

    我正在尝试在创建活动期间如何在CalendarView中设置一个特定日期的焦点。例如,日期是已知的,并存储在一个单独的字符串变量中 theDate 格式为 dd/mm/yyyy 知道了这一点,我可以将日历集中在特定日期吗?

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

    2 回复  |  直到 10 年前
        1
  •  9
  •   JustSoAmazing    10 年前

    在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); 
    
        2
  •  4
  •   Muhammad Irvan Tommi    8 年前

    这对我有用:)

        String selectedDate = "30/09/2016";
        mCalendarView.setDate(new SimpleDateFormat("dd/MM/yyyy").parse(selectedDate).getTime(), true, true);