4

次のようなString: 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

もっと簡単な方法を見つけることができなかったので...

Webページに表示されるすべての行に対して、次のようなことを行いました。

            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 に答える