我有一个字符串: myFullString ,如下所示:
<html>
<body style="background-color: transparent; margin-top:75px; padding:0px;">
<style type="text/css">
p {margin-left:40px; margin-right:40px; margin-top:40px; margin-bottom:40px; }
</style> <p>
<font face="helvetica" size=8 color=white>
<b> Heading
</b></font>
<font face="helvetica" size=6> <br/> <br/>
<br/> Address Line 1
<br/> Address Line 2 <br/>
<br/> Tel: PhoneNumber
<br/> Fax: Fax No <br/>
<br/> <br/><br/>
</font></p>
</body></html>
我希望电话号码和/或链接(如果有)显示为可点击/点亮。所以我写了下面的代码:
Spannable sp = new SpannableString(myFullString.toString());
Linkify.addLinks(sp, Linkify.ALL);
final String html = Html.toHtml(sp) ;
mWebView.setClickable(true);
mWebView.loadData(html, "text/html", "utf-8");
我得到以下结果:
在此webview中,文本是超链接的,但我们能够看到标签。
我也尝试使用以下代码:
Spannable sp = new SpannableString(myFullString.toString());
Linkify.addLinks(sp, Linkify.ALL);
mWebView.loadDataWithBaseURL(null, sp.toString(),"text/html", "utf-8", "about:blank");
但它提供了以下输出:
它显示正确的文本字体,但不链接文本。
如何修改我的代码,以便显示链接并且不会显示标记? webview内容是动态创建的。
答案 0 :(得分:1)
因为我无法找到更简单的方法......
我为网页上显示的每一行做了类似的事情:
String str=mWebFileArray [i].toString();
if(str.contains("<!- ")){
str.replace("<!- ", "<!-- ").replace(" ->", " -->");
}else{
Spannable sp = new SpannableString(str);
Linkify.addLinks(sp, Linkify.ALL);
str = Html.toHtml(sp) ;
}
myArray.add(str);
现在,它链接有效文本....