BlackBerry - программная выборка данных в календаре - PullRequest
1 голос
/ 24 марта 2010

Я вызвал Blackberry Calender из моего приложения
Может кто-нибудь сказать мне, как получить:

  • дата
  • продолжительность
  • примечания

с выбранной даты

мой код:

 MenuItem importCalender = new MenuItem("Import from Calender",100,11)
   {
    public void run() 
    {
     UiApplication.getUiApplication().invokeAndWait(new Runnable()
     {
      public void run()
      { 
       try 
       {
          EventList list = (EventList)PIM.getInstance().openPIMList(PIM.EVENT_LIST, PIM.READ_WRITE);



          Enumeration events = list.items();
          BlackBerryEvent e = (BlackBerryEvent) events.nextElement();


          Invoke.invokeApplication(Invoke.APP_TYPE_CALENDAR, new CalendarArguments( CalendarArguments.ARG_VIEW_DEFAULT,e) );


       } 
       catch (PIMException e) 
       {

        //e.printStackTrace();
       }
      }
     });
    }

   };
  protected void makeMenu(Menu menu, int instance)
   { 
   menu.add(importCalender);
  }

1 Ответ

1 голос
/ 24 марта 2010

Вам необходимо зарегистрировать пользовательский пункт меню для календаря.

См. Как - добавить элемент пользовательского меню в существующее приложение BlackBerry

UPDATE
альтернативный текст http://img228.imageshack.us/img228/5350/caledar1.jpg альтернативный текст http://img413.imageshack.us/img413/6417/caledar2.jpg альтернативный текст http://img517.imageshack.us/img517/2789/caledar3.jpg альтернативный текст http://img401.imageshack.us/img401/4959/caledar4.jpg

class Scr extends MainScreen {
    VerticalFieldManager mManager;
    UiApplication mApp;

    public Scr() {
        mApp = UiApplication.getUiApplication();
        mManager = (VerticalFieldManager) this.getMainManager();
        MyMenuItem myMenuitem = new MyMenuItem(0);
        ApplicationMenuItemRepository.getInstance().addMenuItem(
                ApplicationMenuItemRepository.MENUITEM_CALENDAR, myMenuitem);

    }

    class MyMenuItem extends ApplicationMenuItem {
        MyMenuItem(int order) {
            super(order);
        }

        public Object run(Object context) {
            if (context instanceof Event) {
                Event event = (Event) context;
                final String text = "start: "
                        + (new Date(event.getDate(Event.START, 0))).toString()
                        + "\nend: "
                        + (new Date(event.getDate(Event.END, 0))).toString()
                        + "\nnote: " + event.getString(Event.NOTE, 0);
                String message = "Import event\n" + text;

                if (Dialog.YES == Dialog.ask(Dialog.D_YES_NO, message)) {

                    mApp.invokeLater(new Runnable() {
                        public void run() {
                            mApp.requestForeground();
                            mManager.add(new LabelField(text));
                        }
                    });
                }
            }
            return context;
        }

        public String toString() {
            return "Import Event";
        }
    }

    MenuItem importCalender = new MenuItem("Import from Calender", 100, 11) {
        public void run() {
            UiApplication.getUiApplication().invokeAndWait(new Runnable() {
                public void run() {
                    Invoke.invokeApplication(Invoke.APP_TYPE_CALENDAR,
                            new CalendarArguments(
                                    CalendarArguments.ARG_VIEW_DEFAULT));
                }
            });
        }
    };

    protected void makeMenu(Menu menu, int instance) {
        menu.add(importCalender);
    }
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...