0

一部のテキストを解析してリストに入れる必要があります。私はこれが好きです:

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

ただし、リストのエミュレーターでは、最後のタイトル、時間、およびリンクのみが表示されます。どうすれば修正できますか?
ありがとう

4

1 に答える 1

0

問題はあなただと思いますobject o。ループ new 内の新しい要素ごとに作成する必要があると思います:

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

それ以外の場合は、反復ごとにオブジェクト o の同じ参照を変更します。これが、リスト項目を 1 つだけ取得する理由です。

于 2013-03-28T12:08:53.243 に答える