使用http://在textview中预先添加所有可链接项

时间:2013-12-24 22:29:59

标签: java android

我有一个显示html的textview。

> textview.setText(html.fromhtml(document))
> textview.setMovementMethod(LinkMovementMethod.getInstance());

当我点击某些链接时,有些链接在浏览器中打开,有些则没有。

Logcat说:

> No Activity found to handle Intent { act=android.intent.action.VIEW
> dat=law.fordham.edu/ (has extras) }

似乎只是一个简单的修复。只需将“http://”添加到文档中的每个链接。

如果所有链接都以“www”开头,那么事情会很简单。我会这样做:

> replaceAll("www", "http://www")

这适用于某些链接。但并非所有这些都以'www'开头,因此,我需要一种不同的方法来为它们添加http://

这样做的最佳方式是什么?

编辑:

paragraphs = doc.select("div.sectionContent>*");
       set =  paragraphs.toString().replaceAll("\\\\n", "\n").trim();
       links = doc.select("a");
           for (Element i: links){
                  String relHref = i.attr("abs:href");
                  if (!relHref.contains("http")){
                       set = set.replace(relHref, "http://"+relHref);
                  }
                                 }

我正在使用jsoup来完成所有这些但是我一直在努力:

java.lang.OutOfMemoryError

1 个答案:

答案 0 :(得分:1)

处理HTML,查找<a>标签,然后如果锚点内的网址开头不是您想要的,请调整它。

正则表达式搜索应该能够为您找到锚点。