如何使用JSOUP将标题显示为链接

时间:2014-03-31 13:43:56

标签: java android oracle parsing jsoup

最近我尝试使用JSOUP构建自己的Android应用程序。我面临着将新闻标题显示为链接的问题。我的意思是我创建了一个小应用程序,它显示了新闻门户的头条新闻,但它只是文本。是否可以将此文本显示为可点击链接,以便将导航到文章的Web视图页面?

以下是代码摘录:

`public class MainActivity扩展了Activity {

public Elements title;

public ArrayList<String> titleList = new ArrayList<String>();
private ArrayAdapter<String> adapter;
private ListView lv;

@Override
protected void onCreate(Bundle savedInstanceState) {

    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_main);
    lv = (ListView) findViewById(R.id.listView1);
    new NewThread().execute();
    adapter = new ArrayAdapter<String>(this, R.layout.list_item, R.id.product_name, titleList);
}


public class NewThread extends AsyncTask<String, Void, String> {

    @Override
    protected String doInBackground(String... arg) {


        Document doc;
        try {
            doc = Jsoup.connect("http://tech.onliner.by/").get();
            title = doc.select(".b-posts-1-item__title");
            titleList.clear();
            for (Element titles : title) {
                titleList.add(titles.text());
            }
        } catch (IOException e) {
            e.printStackTrace();
        }
        return null;
    }

    @Override
    protected void onPostExecute(String result) {
        lv.setAdapter(adapter);
    }
}`

提前致谢

2 个答案:

答案 0 :(得分:0)

设置OnItemClickListener以处理列表视图中的点击事件,然后创建一个Intent以启动您的webview活动,并将您想要查看的网址作为数据传递。

  lv.setOnItemClickListener(new AdapterView.OnItemClickListener() {
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
        String url = ...; //The url
        Intent i= new Intent(...); //The activity, flags...
        i.setData(Uri.parse(url));

        startActivity(i);
      }
    });

希望这有帮助。

答案 1 :(得分:0)

我同意eltabo的方法,但它需要另一项活动来启动网址

另一种方法是在点击相同活动的列表视图时启动网址,而不将其传递到另一个用于网络视图启动

这项技术可以使用HashMap实现

1)添加标题和链接到HashMap

hashMap.put(title,url);

2)接下来在listview onClickListener中,我们添加代码以启动相应的URL

lv.setOnItemClickListener(new OnItemClickListener() {}

我们可以利用listview项目的位置点击并使用它从HashMap中检索相应的URL

@Override
        public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3) {
                        value=(new ArrayList<String>(hashMap.values())).get((int)arg3); // based on position clicked retrieve the value ( the url for the title) from hashMap
                        Uri uri=Uri.parse(value); // here we parse the url
                        startActivity(new Intent("android.intent.action.VIEW", uri));
        }