webview没有显示超链接

时间:2012-09-04 08:08:40

标签: android webview

我有一个字符串: 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");

我得到以下结果: hyperlink exists but it shows the whole file

在此webview中,文本是超链接的,但我们能够看到标签。

我也尝试使用以下代码:

Spannable sp = new SpannableString(myFullString.toString());
Linkify.addLinks(sp, Linkify.ALL);
mWebView.loadDataWithBaseURL(null, sp.toString(),"text/html", "utf-8", "about:blank");

但它提供了以下输出:

loadDataWithBaseURL

它显示正确的文本字体,但不链接文本。

如何修改我的代码,以便显示链接并且不会显示标记? webview内容是动态创建的。

1 个答案:

答案 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);

现在,它链接有效文本....