[解決済み] HTML文字列を表示できない
質問
AndroidのWebViewで文字列のHTMLを表示するのに苦労しています。
サーバー側では、Webページをダウンロードして、HTMLの文字や引用符をエスケープしています(Pythonを使用しました)。
my_string = html.escape(my_string, True)
Androidクライアント側:文字列をアンエスケープするのは
myString = StringEscapeUtils.unescapeHtml4(myString)
webview.loadData( myString, "text/html", "encoding");
しかし、webviewはそれらを文字列として表示するだけです。以下はその結果です。
編集:サーバー側から返された元の文字列を追加します。
<ブロッククオート"<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible"。 content="IE=edge"> <meta name="ビューポート" content="width=device-width, initial-scale=1.0"> <meta name="description"。 コンテンツ=""> <title>Saulify</title> <!-- All the Favicons... すべてのファビコンを... --> <link rel="ショートカット icon" href="/static/favicon/favicon.ico"> <link rel="apple-touch-icon"。 サイズ="57x57" href="/static/favicon/apple-touch-icon-57x57.png"> <link rel="apple-touch-icon" sizes="114x114" href="/static/favicon/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" サイズ="72x72" href="/static/favicon/apple-touch-icon-72x72.png"> <link rel="apple-touch-icon" sizes="144x144" href="/static/favicon/apple-touch-icon-144x144.png"> <link rel="apple-touch-icon" サイズ="60x60" href="/static/favicon/apple-touch-icon-60x60.png"> <link rel="apple-touch-icon" サイズ="120x120" href="/static/favicon/apple-touch-icon-120x120.png"> <link rel="apple-touch-icon" サイズ="76x76" href="/static/favicon/apple-touch-icon-76x76.png"> <link rel="apple-touch-icon" sizes="152x152" href="/static/favicon/apple-touch-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="/static/favicon/apple-touch-icon-180x180.png"> <link rel="アイコン" type="image/png"。 href="/static/favicon/favicon-192x192.png" サイズ="192x192"><リンク rel="アイコン" type="image/png" href="/static/favicon/favicon-160x160.png" サイズ="160x160"><link rel="アイコン" type="image/png" href="/static/favicon/favicon-96x96.png" サイズ="96x96"><link rel="アイコン" type="image/png" href="/static/favicon/favicon-16x16.png" サイズ="16x16"><リンク rel="icon" type="image/png" href="/static/favicon/favicon-32x32.png" サイズ="32x32"><meta name="msapplication-TileColor"。 content="#da532c"> <meta name="msapplication-TileImage" content="/static/favicon/mstile-144x144.png"> <meta name="msapplication-config" content="/static/favicon/browserconfig.xml"> <!-- 外部CSS --> <リンク rel="stylesheet"。 href=" https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css "> <!-- 外部フォント --> <リンク href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> <リンク href='//fonts.googleapis.com/css?family=Open+Sans:300,600' rel='stylesheet' type='text/css'> <リンク href='//fonts.googleapis.com/css?family=Lora:400,700'.XXX;//fonts.googleapis.com/css?family=Lora:400,700' rel='stylesheet' type='text/css'> <!--[if lt IE 9]><スクリプト src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script>./amp;lt;/script> <スクリプト src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script> </spot;gt; <![endif]--> <!-- サイトCSS --> <link rel="stylesheet"。 type="text/css" href="/static/css/style.css"> <link。 rel="stylesheet" type="text/css" href="/static/css/glyphicon.css"> をクリックします。 class="コンテナ記事ページ"><div class="row"> <div class="col-md-8 col-md-offset-2"> <h2><a href=" http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html を "amp;quot;>Gov. を、「気候変動があるから出馬は無理。 気候変動が原因で立候補するのは不適当だ。 ビュー</a> </h2> <h4>Sam Levine</h4> <div class="article"> <p>California ジェリー・ブラウン知事(民主党)は日曜日、テキサス州選出のテッド・クルーズ上院議員(テキサス州選出)が というのも、気候変動に対する立場があるからだ。 というのも、気候変動に対する彼の立場があるからだ。 を?めています。この件に関する私の考えは単純です。 この件に関する議論は科学に従うべきであり、データに従うべきであります。 地球温暖化に対する警鐘を鳴らす人たちの多くは、問題があるとしています。 というのも、科学がそれを裏付けてくれないからです。 href=" https://www.youtube.com/watch?v=m0UJ_Sc0Udk 仝囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮囮々と冱った。 を、先週「レイトナイト with Seth Meyers」で紹介しました。 その主張を裏付けるように、クルーズは衛星データを引用した。 この17年間、顕著な温暖化が見られないことを示す衛星データを引用した。 この17年間、顕著な温暖化が見られないという衛星データを引用した。しかし、クルーズ氏の推論'lt;a。 href=" http://www.politifact.com/truth-o-meter/statements/2015/mar/20 /ted-cruz/ted-cruzs-worlds-fire-not-last-17-years/">has been debunked by Politifact</a>has. は、Politifact</a>によって論破されている。 科学者たちは、気候が今後も温暖化し続けると信じるに足る十分な証拠を持っています。 このようなことは、科学者が気候が温暖化し続けるという十分な証拠を持っていることを示すものです。 ブラウン氏は、「彼が言ったことは絶対に間違っている」と、<aで述べた。 href=" http://www.nbcnews.com/meet-the-press/california-governor-ted-cruz- を?めている。 "Meet the Press."</a> 彼は次のように付け加えました。 <a href=" http://climate.nasa.gov/scientific-consensus/ を超える。 気候を研究している科学者の90%以上は、気候変動が人間の活動によって引き起こされていることに同意しています。 気候変動が人間の活動によって引き起こされていることに同意しています。 このような無知と、既存の科学的データの直接的な改ざんを意味します。 このような科学的なデータに対して それは衝撃的なことで、私はその人が を恬っている。 と、ブラウン氏は語った。 また、気候変動には<aがあると付け加えた。 href=" http://www.huffingtonpost.com/2015/03/06/california-drought-february- カリフォルニア州の干ばつは、amp;quot;>が原因です。 また、東海岸では厳しい寒さと嵐に見舞われました。 また、東海岸では暴風雨が吹き荒れました。 ニューハンプシャーでは雪や氷がいたるところで見られたかもしれませんが、データによると、アメリカでは実際に雪が降っています。 というのも、この国では実際に<aが発生しているのだ。 href=" http://www.huffingtonpost.com/2015/02/19/cold-weather- winter_n_6713104.html">warmer than average.amp;lt;/a>冬を経験していることがわかります。 を?めています。 を発表する予定である。 href=" http://www.huffingtonpost.com/2015/03/22 /ted-cruz-2016_n_6917824.html">presidential キャンペーン</a>. </p> </div> <div class="original"> <a href=" http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html ">VIEW(ビュー ORIGINAL</a> </div> </div> </div> </div> <script src="//code.jquery.com/jquery-latest.js"></script> <スクリプト src="/static/js/modal.js"></script> <スクリプト src="/static/js/bootbox.min.js"></script> <スクリプト src="/static/js/site.js"></script> <script&アンプ;gt。 (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){) (i[r].q=i[r].q|[]).push(引数)},i[r].l=1*new Date();a=s.createElement(o)。 m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','が').となります。 ga('create', 'UA-56257533-1', 'auto'); ga('send', 'pageview'); </script> </body> </html>"
どのように解決するのですか?
こちらのコードを修正しました。
public class test extends Activity {
private WebView wv;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.test);
wv = (WebView) findViewById(R.id.wv);
String s = "<!DOCTYPE html> <html lang="en"> <head> <meta charset="utf-8"> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <meta name="description" content=""> <title>Saulify</title> <!-- All the Favicons... --> <link rel="shortcut icon" href="/static/favicon/favicon.ico"> <link rel="apple-touch-icon" sizes="57x57" href="/static/favicon/apple-touch-icon-57x57.png"> <link rel="apple-touch-icon" sizes="114x114" href="/static/favicon/apple-touch-icon-114x114.png"> <link rel="apple-touch-icon" sizes="72x72" href="/static/favicon/apple-touch-icon-72x72.png"> <link rel="apple-touch-icon" sizes="144x144" href="/static/favicon/apple-touch-icon-144x144.png"> <link rel="apple-touch-icon" sizes="60x60" href="/static/favicon/apple-touch-icon-60x60.png"> <link rel="apple-touch-icon" sizes="120x120" href="/static/favicon/apple-touch-icon-120x120.png"> <link rel="apple-touch-icon" sizes="76x76" href="/static/favicon/apple-touch-icon-76x76.png"> <link rel="apple-touch-icon" sizes="152x152" href="/static/favicon/apple-touch-icon-152x152.png"> <link rel="apple-touch-icon" sizes="180x180" href="/static/favicon/apple-touch-icon-180x180.png"> <link rel="icon" type="image/png" href="/static/favicon/favicon-192x192.png" sizes="192x192"> <link rel="icon" type="image/png" href="/static/favicon/favicon-160x160.png" sizes="160x160"> <link rel="icon" type="image/png" href="/static/favicon/favicon-96x96.png" sizes="96x96"> <link rel="icon" type="image/png" href="/static/favicon/favicon-16x16.png" sizes="16x16"> <link rel="icon" type="image/png" href="/static/favicon/favicon-32x32.png" sizes="32x32"> <meta name="msapplication-TileColor" content="#da532c"> <meta name="msapplication-TileImage" content="/static/favicon/mstile-144x144.png"> <meta name="msapplication-config" content="/static/favicon/browserconfig.xml"> <!-- External CSS --> <link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/3.2.0/css/bootstrap.min.css"> <!-- External Fonts --> <link href="//maxcdn.bootstrapcdn.com/font-awesome/4.2.0/css/font-awesome.min.css" rel="stylesheet"> <link href='//fonts.googleapis.com/css?family=Open+Sans:300,600' rel='stylesheet' type='text/css'> <link href='//fonts.googleapis.com/css?family=Lora:400,700' rel='stylesheet' type='text/css'> <!--[if lt IE 9]> <script src="//cdnjs.cloudflare.com/ajax/libs/html5shiv/3.7.2/html5shiv.min.js"></script> <script src="//cdnjs.cloudflare.com/ajax/libs/respond.js/1.4.2/respond.min.js"></script> <![endif]--> <!-- Site CSS --> <link rel="stylesheet" type="text/css" href="/static/css/style.css"> <link rel="stylesheet" type="text/css" href="/static/css/glyphicon.css"> </head> <body> <div class="container article-page"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <h2><a href="http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html">Gov. Jerry Brown Says Ted Cruz Is &#39;Absolutely Unfit&#39; To Run For Office Because Of Climate Change Views</a></h2> <h4>Sam Levine</h4> <div class="article"> <p>California Gov. Jerry Brown (D) said on Sunday that Texas Sen. Ted Cruz (R-Texas) is "absolutely unfit to be running for office" because of his position on climate change.</p> <p>"I just came back from New Hampshire, where there's snow and ice everywhere. My view on this is simple: Debates on this should follow science and should follow data, and many of the alarmists on global warming, they have a problem because the science doesn't back them up," Cruz <a href="https://www.youtube.com/watch?v=m0UJ_Sc0Udk">said</a> on "Late Night with Seth Meyers" last week.</p> <p>To back up his claim, Cruz cited satellite data that has shown a lack of significant warming over the last 17 years. But Cruz's reasoning <a href="http://www.politifact.com/truth-o-meter/statements/2015/mar/20 /ted-cruz/ted-cruzs-worlds-fire-not-last-17-years/">has been debunked by Politifact</a>, which has shown that scientists have ample evidence to believe that the climate will continue to warm.</p> <p>"What he said is absolutely false,” Brown said on <a href="http://www.nbcnews.com/meet-the-press/california-governor-ted-cruz- unfit-be-running-n328046">NBC's "Meet the Press."</a> He added that <a href="http://climate.nasa.gov/scientific-consensus/">over 90 percent</a> of scientists who study the climate agree that climate change is caused by human activity. "That man betokens such a level of ignorance and a direct falsification of existing scientific data. It's shocking, and I think that man has rendered himself absolutely unfit to be running for office," Brown said.</p> <p>Brown added that climate change has <a href="http://www.huffingtonpost.com/2015/03/06/california-drought-february- record_n_6820704.html?utm_hp_ref=california-drought">caused droughts in his state</a>, as well as severe cold and storms on the east coast.</p> <p>While Cruz may have seen snow and ice everywhere in New Hampshire, data shows that the country is actually experiencing a <a href="http://www.huffingtonpost.com/2015/02/19/cold-weather- winter_n_6713104.html">warmer than average</a> winter.</p> <p>Brown’s criticism of Cruz comes one day before the Texas senator is set to announce a <a href="http://www.huffingtonpost.com/2015/03/22 /ted-cruz-2016_n_6917824.html">presidential campaign</a>. </p> </div> <div class="original"> <a href="http://www.huffingtonpost.com/2015/03/22/ted-cruz-climate-change_n_6919002.html">VIEW ORIGINAL</a> </div> </div> </div> </div> <script src="//code.jquery.com/jquery-latest.js"></script> <script src="/static/js/modal.js"></script> <script src="/static/js/bootbox.min.js"></script> <script src="/static/js/site.js"></script> <script> (function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){ (i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o), m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m) })(window,document,'script','//www.google-analytics.com/analytics.js','ga'); ga('create', 'UA-56257533-1', 'auto'); ga('send', 'pageview'); </script> </body> </html>";
wv.loadData(stripHtml(s), "text/html", "UTF-8");
}
public String stripHtml(String html) {
return Html.fromHtml(html).toString();
}
}
<イグ
関連
-
[解決済み] Pythonには文字列の'contains'サブストリングメソッドがありますか?
-
[解決済み] バイトを文字列に変換する
-
[解決済み] Pythonで文字列の部分文字列を取得するにはどうすればよいですか?
-
[解決済み] Pythonで文字列を小文字にするには?
-
[解決済み] リンクのように動作するHTMLボタンを作成する方法
-
[解決済み] HTML 5: Is it <br>, <br/>, or <br />?
-
[解決済み] HTMLのid属性に有効な値は何ですか?
-
[解決済み】なぜHTMLは "chucknorris "を色と見なすのか?
-
[解決済み】文字列をdatetimeに変換する
-
[解決済み] HTML 5 Favicon - サポートは?
最新
-
nginxです。[emerg] 0.0.0.0:80 への bind() に失敗しました (98: アドレスは既に使用中です)
-
htmlページでギリシャ文字を使うには
-
ピュアhtml+cssでの要素読み込み効果
-
純粋なhtml + cssで五輪を実現するサンプルコード
-
ナビゲーションバー・ドロップダウンメニューのHTML+CSSサンプルコード
-
タイピング効果を実現するピュアhtml+css
-
htmlの選択ボックスのプレースホルダー作成に関する質問
-
html css3 伸縮しない 画像表示効果
-
トップナビゲーションバーメニュー作成用HTML+CSS
-
html+css 実装 サイバーパンク風ボタン
おすすめ
-
[解決済み] Nexus 4でUSBデバッグモードを見つける方法とオンにする方法
-
[解決済み] Android - タイトルバーに戻るボタンが表示される
-
[解決済み] Android Studio - あいまいなメソッド呼び出し getClass()
-
[解決済み] Gmailの3分割アニメーションシナリオの完全動作サンプル?
-
[解決済み] Android Studioの「未実装メソッドの追加」機能
-
[解決済み] Android - Snackbar vs Toast - 使い方と違い。
-
[解決済み] サポートライブラリのアクションバーをPreferenceActivityに追加するには?
-
[解決済み] Androidの環境設定。ユーザーが環境設定画面を使用していない場合、デフォルト値を読み込むにはどうすればよいですか?
-
[解決済み] LayoutParamsの高さを密度に依存しないピクセル数でプログラム的に設定する。
-
[解決済み] Recyclerviewと異なるタイプの行のインフレーションの処理