2012-03-09 2 views
0

Я пытаюсь получить события из собственного календаря для даты, заданной пользователем, я не могу получить дату события конкретным. Как я могу это сделать?Как получить события из собственного календаря на конкретную дату

private void getEvents() { 
      try { 

      EventList eventList = (EventList)PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_ONLY); 
      Enumeration events = eventList.items(); 
       while (events.hasMoreElements()) { 
       Event event = (Event)events.nextElement(); 

       if(eventList.isSupportedField(Event.LOCATION) && event.countValues(Event.LOCATION) > 0) { 
        String location = event.getString(Event.LOCATION, 0); 
        Dialog.alert(location); 
       } 
       if(eventList.isSupportedField(Event.SUMMARY) && event.countValues(Event.SUMMARY) > 0) { 
        String subject = event.getString(Event.SUMMARY, 0); 
        Dialog.alert(subject); 
       } 
       if(eventList.isSupportedField(Event.START) && event.countValues(Event.START) > 0) { 
        long start = event.getDate(Event.START,0); 
        SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy HH:mm"); 
        String dateString = sdf.formatLocal(start); 
        Dialog.alert(dateString); 

       } 
       if(eventList.isSupportedField(Event.END)&& event.countValues(Event.END) > 0) { 
        long end = event.getDate(Event.END, 0); 
        SimpleDateFormat sdf = new SimpleDateFormat("MMM dd, yyyy HH:mm"); 
        String dateString = sdf.formatLocal(end); 
        Dialog.alert(dateString); 
       } 

      } 

      } 
      catch (PIMException e) { 
       Dialog.alert(e.getMessage()); 
      } 

     } 

Как изменить этот код для отображения на данную дату?

ответ

2

Как насчет:

Calendar cal = Calendar.getInstance(); 
cal.setTimeMillis(start); 
if (cal.get(Calendar.YEAR) == requestedYear && cal.get(Calendar.MONTH) == requestedMonth && cal.get(Calendar.DAY) == requestedDay) { 
    // display event 
} 
+0

в случае отображения, какой именно код будет там, так же, как я писал? if (eventList.isSupportedField (Event.END) && event.countValues ​​(Event.END)> 0) { long end = event.getDate (событие.END, 0); SimpleDateFormat sdf = новый SimpleDateFormat («MMM dd, yyyy HH: mm»); Строка dateString = sdf.formatLocal (конец); Dialog.alert (dateString); } – user1195292

+0

cal.getField недоступен под java.util.Calendar; – user1195292

+0

Извините, мой плохой, должен быть cal.get() исправлен. Как вы это видите, зависит от вас. Я бы не использовал диалоги, но это я. – Richard