2013-03-28 5 views
0

일부 텍스트를 구문 분석하여 목록에 입력해야합니다. 나는 다음과 같이 수행 로그 모두에서Jsoup 잘못된 루프 구문 분석

try { 
      Document doc = Jsoup.connect(URL).get(); 

      Elements main = doc.select("div.day"); 
      for (i = 0; i < main.size(); i++) { 
       Element m = main.get(i); 

       Elements date = m.select("h2"); 
       for (j = 0; j < date.size(); j++) { 
        Element m1 = date.get(j); 
        dates = m1.select("a").attr("href");  
       } 

       Elements titles = m.select("div.ep_box"); 
       for (k = 0; k < titles.size(); k++) { 
        Element tts = titles.get(k); 
        title = tts.select("h3 a[href]").text(); // titles 
        time = tts.select("small").text(); // time 
        url = tts.select("h3 a").attr("href"); // links 

        if (title.contains(inputSearch)) { // search type 
         Order o = new Order(); 
         o.setTextName(title); 
         o.setTextEpisode(time); 
         o.setTextDate(dates); 
         o.setDetailsUrl(url); 
         listItems.add(o); 

System.out.println("Title: " + title + "\n" + "Time: " + time + "\n" + "Link: " + url + "\n" + "========================"); 
        } 
       } 
      }    

     } 

완벽하게입니다 :

03-28 17:50:29.421: I/System.out(13409): Title: Naruto SD: Rock Lee no Seishun Full-Power Ninden 
03-28 17:50:29.421: I/System.out(13409): Time: Ep: 48 (17:30) - TV Tokyo 
03-28 17:50:29.421: I/System.out(13409): Link: /show/601/Naruto_SD%3A_Rock_Lee_no_Seishun_Full-Power_Ninden 
03-28 17:50:29.421: I/System.out(13409): ======================== 
03-28 17:50:29.449: I/System.out(13409): Title: Naruto Shippuuden 
03-28 17:50:29.449: I/System.out(13409): Time: Ep: 303 (19:30) - TV Tokyo 
03-28 17:50:29.449: I/System.out(13409): Link: /show/18/Naruto_Shippuuden 

그러나 목록에있는 에뮬레이터에서

는 지난 제목, 시간 및 링크를 게재합니다. 어떻게 고칠 수 있니?
감사합니다.

+1

당신은 notifyDataSetChanged()를 호출합니까? 어딘가에? –

+0

예, notifyDataSetChanged()를 호출합니다. –

답변

0

나는 문제가 object o이라고 생각합니다. 은 당신이 새로운 루프 내부의 각각의 새로운 요소를 만들 수 있다고 생각 :

Order o = new Order(); 
o.setTextName(title); 
o.setTextEpisode(time); 
o.setTextDate(dates); 
o.setDetailsUrl(url); 
listItems.add(o); 

그렇지 않으면 당신은 객체 오의 동일한 참조 반복 각각 변경하고 하나 개의리스트 아이템을 얻을 이유를 이잖아.

+0

죄송합니다. 메시지에이 코드를 추가하는 것을 잊어 버렸습니다. –

+0

당신 말이 맞아요. 감사. –