Добавление события в календарь blackberry - PullRequest
0 голосов
/ 01 декабря 2011

Я пытаюсь добавить событие в календарь ежевики.Используется следующий код:

EventList eventList = (EventList)PIM.getInstance().openPIMList(PIM.EVENT_LIST,PIM.WRITE_ONLY);
    _event = eventList.createEvent();

        String subject = _subject.getText().trim();
        String location = _location.getText().trim();
        long startTime = _startTime.getDate();
        long endTime = _endTime.getDate();
        String description = _desc.getText().trim();

        if (subject.length() == 0 || location.length() == 0)
        {
            Dialog.inform("Subject and location required");
            return false;
        }

        if ( endTime <= startTime || startTime < System.currentTimeMillis())
        {
            Dialog.inform("Invalid Start/End times");
            return false;
        }

        _event.addString(Event.SUMMARY, PIMItem.ATTR_NONE, subject );
        _event.addString(Event.LOCATION, PIMItem.ATTR_NONE, location);
        _event.addDate(Event.START, PIMItem.ATTR_NONE, startTime);
        _event.addDate(Event.END, PIMItem.ATTR_NONE, endTime);    
        _event.addString(Event.NOTE, PIMItem.ATTR_NONE, description);

        RepeatRule rule = new RepeatRule();


        switch(_recur.getSelectedIndex())
        {
            case 1:
                rule.setInt(RepeatRule.FREQUENCY,RepeatRule.DAILY);
                break;

            case 2:
                rule.setInt(RepeatRule.FREQUENCY,RepeatRule.WEEKLY);
                break;

            case 3:
                rule.setInt(RepeatRule.FREQUENCY,RepeatRule.MONTHLY);
                break;

            case 4:
                rule.setInt(RepeatRule.FREQUENCY,RepeatRule.YEARLY);
                break;        
        }


        _event.setRepeat(rule);


        _event.commit();

Этот код взят из примера приложения Blackberry PIMDEMO

Ошибка:

событие, добавленное к датам после даты окончания

Пример: если я установлю событие с 1 декабря 2011 г. (дата начала) до 2011 г. 5 декабря (дата окончания) Затем событие отображается в календаре с 1 декабря.до всех дней после него (то есть событие никогда не заканчивается).

Я тестировал этот код на симуляторе BlackBerry Pearl 9105.

1 Ответ

1 голос
/ 01 декабря 2011

Удалите следующий код RepeatRule и попробуйте.

 RepeatRule rule = new RepeatRule();


    switch(_recur.getSelectedIndex())
    {
        case 1:
            rule.setInt(RepeatRule.FREQUENCY,RepeatRule.DAILY);
            break;

        case 2:
            rule.setInt(RepeatRule.FREQUENCY,RepeatRule.WEEKLY);
            break;

        case 3:
            rule.setInt(RepeatRule.FREQUENCY,RepeatRule.MONTHLY);
            break;

        case 4:
            rule.setInt(RepeatRule.FREQUENCY,RepeatRule.YEARLY);
            break;        
    }


    _event.setRepeat(rule);
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...