2010-07-12 5 views
0

J'essaie d'écrire une méthode simple, qui obtient des événements du calendrier Google. Le problème est que si j'essaie d'appeler getTimes() sur mes événements, j'obtiens une exception Indexoutofbounds. Je n'arrive pas à comprendre quel est le problème.Google index indexoutofbounds lorsque getTimes()

Merci à l'avance :)

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"); 
      } 
     } 

Répondre

0

Je pense quelque chose ne va pas avec votre deuxième get (i),

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

Alors que la première dans le get (i) "i" est garanti à travailler en raison de i < resultFeed.getEntries().size(); condition dans la boucle for, le second "i" dans le get (i) n'a aucune condition pour vérifier sa portée. Veuillez indiquer votre trace d'exception complète si ce n'est pas votre problème.