从doInBackground返回多个值

时间:2013-04-19 17:51:52

标签: android android-asynctask jsoup

如何返回从此网站获得的多个链接?我在循环之外的回报似乎不起作用。

public class jsoupexample extends AsyncTask<String,Integer,String>{
    @Override
    protected String doInBackground(String... html) {
        try {
            doc = Jsoup.connect(html[0]).get();
        } catch (IOException e) {
            e.printStackTrace();
        }
        Elements link = doc.select("a[href]");

        for(Element links : link) {
            audi=links.attr("abs:href");
        }
        return audi;
    }

    @Override
    protected void onPostExecute(String result) {
        super.onPostExecute(result);
        tv2.setText(result);
    }

}

2 个答案:

答案 0 :(得分:3)

您必须尝试获取所有这些值并使用for循环将它们收集到列表或String数组对象中,然后在 doInBackground 中返回该对象,以便以后可以在的 onPostExecute 即可。

使用AsyncTask: where does the return value of doInBackground() go?获得更多帮助。

答案 1 :(得分:0)

试试这个

只需添加加号以连接像这样的值

  for(Element links : link) {
            audi+=links.attr("abs:href");
        }