我有一个显示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
答案 0 :(得分:1)
处理HTML,查找<a>
标签,然后如果锚点内的网址开头不是您想要的,请调整它。
正则表达式搜索应该能够为您找到锚点。