Google Calendar indexoutofbounds, когда getTimes () - PullRequest
0 голосов
/ 12 июля 2010

Я пытаюсь написать простой метод, который получает события из календаря Google. Проблема в том, что если я пытаюсь вызвать getTimes () для моих событий, я получаю исключение Indexoutofbounds. Я просто не могу понять, в чем проблема.

Заранее спасибо:)

    jTextArea1.setText("");

    try {
        CalendarService myService = new CalendarService("myApp");
        myService.setUserCredentials(username, password);
        String eventTitle = "";

        for (URL u : urls) {

            CalendarQuery myQuery = new CalendarQuery(u);

            myQuery.setMinimumStartTime(convertStartDateToDateTime());
            myQuery.setMaximumStartTime(convertEndDateToDateTime());
            myQuery.setFullTextQuery(searchTF.getText());

            CalendarEventFeed resultFeed = myService.query(myQuery, CalendarEventFeed.class);
            //  System.out.println(resultFeed.getTitle().getPlainText());

            for (int i = 0; i < resultFeed.getEntries().size(); i++) {
                CalendarEventEntry entry = resultFeed.getEntries().get(i);

                if (resultFeed.getEntries().size() > 0) {
                    jTextArea1.setText(jTextArea1.getText()
                            + resultFeed.getTitle().getPlainText()
                            + "\n");

                    eventTitle = resultFeed.getEntries().get(i).getTitle().getPlainText();
                    jTextArea1.setText(jTextArea1.getText() + eventTitle + "\n");

                    jTextArea1.setText(jTextArea1.getText()
                            + "Start: " + resultFeed.getEntries().get(i).getTimes().get(i).getStartTime().toString() + "\n"
                            + "Slut: " + resultFeed.getEntries().get(i).getTimes().get(i).getEndTime().toString() + "\n");
                }
                jTextArea1.setText(jTextArea1.getText() + "\n");
            }
        }

1 Ответ

0 голосов
/ 12 июля 2010

Я думаю, что-то не так с вашим вторым get (i),

resultFeed.getEntries().get(i).getTimes().get(i).getStartTime().toString()

Хотя первое «i» в get (i) гарантированно работает из-за условия i < resultFeed.getEntries().size(); в цикле for, второе «i» в get (i) не имеет условий для проверки его диапазон.

Пожалуйста, опубликуйте полную трассировку исключений, если это не ваша проблема.

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