1

Jsouplibでhtmlを解析しようとしています。すべてが完璧に機能しますが、表示されないものがあります。
コード:

protected ArrayList<Order> doInBackground(String... urls) {

        listItems.clear();
        myAdapterDouble.notifyDataSetChanged(); 
        String url = null;

        try {
            Document doc = Jsoup.connect(URL).timeout(0).userAgent("Mozilla/5.0 (Windows; U; WindowsNT 5.1; en-US; rv1.8.1.6) Gecko/20070725 Firefox/2.0.0.6").get();

            Elements days = doc.select("div.day_now");
            for (Element day : days) {
                dd = day.select("div.tooltip");
                for (Element d : dd) {

                    title = d.select("td.tooltip_title h4").text();
                    time = d.select("td.tooltip_info h4").text();
                    img = d.select("td.tooltip_desc img[src]");

                    Order o = new Order();
                    o.setLink(URL + img.attr("src"));
                    o.setTextName(title);
                    o.setTextTime(time
                            .replace("on", getResources().getString(R.string.on))
                            .replace("at", getResources().getString(R.string.at))
                            .replace("Ep:", getResources().getString(R.string.episode))
                            .replace("Final", getResources().getString(R.string.final_ep)));
                    o.setDetailsUrl(URL + url);   //set urls text in list
                    listItems.add(o);
                }

                Elements links = day.select("h3");
                for (Element link : links) {
                    url = link.select("a").attr("href");  // parse page urls
                    System.out.println(url);    //display urls in LogCat                    
                }
            }

        } catch (IOException e) {
            e.printStackTrace();
        }
        return listItems;
    }

LogCatには、上記のコードで解析したURLが表示されます。

01-20 12:13:17.671: I/System.out(23390): /show/678/AKB0048_next_stage
01-20 12:13:17.671: I/System.out(23390): /show/668/Battle_Spirits%3A_Sword_Eyes
01-20 12:13:17.671: I/System.out(23390): /show/694/Beast_Saga
01-20 12:13:17.671: I/System.out(23390): /show/660/Cross_Fight_B-Daman_eS

しかし、これらのリンクは画面に表示されず、代わりにnullになります。
私は何が間違っているのですか?
ありがとう。

4

1 に答える 1

1

url現在、に追加していませんlistItems。URLを取得するようにコードを変更します:

           ArrayList<Order> newarraylist=new ArrayList<Order>; 
           Elements links = day.select("h3");
           int urlcount=0;
           for (Element link : links) {
                url = link.select("a").attr("href");  // parse page urls
                System.out.println(url);    //display urls in LogCat 
              if(urlcount < listItems.size()){
                Order o = (Order)listItems.get(urlcount);
                o.setDetailsUrl(URL + url);   //set urls text in list
                newarraylist.add(o);
              }
              urlcount++;
            }

今ではなくnewarraylistから戻るdoInBackgroundlistItems

于 2013-01-20T06:40:16.737 に答える