4

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

我得到以下结果: 超链接存在,但它显示了整个文件

在这个 web 视图中,文本是超链接的,但我们可以看到标签。

我还尝试使用以下代码:

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

但它给出了以下输出:

loadDataWithBaseURL

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

如何修改我的代码以显示链接而不显示标签?webview 内容是动态创建的。

4

1 回答 1

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

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

于 2012-09-26T13:24:57.713 回答