[解決済み] Android Nで非推奨となったHtml.fromHtmlについて
質問
を使っています。
Html.fromHtml
でhtmlを表示します。
TextView
.
Spanned result = Html.fromHtml(mNews.getTitle());
...
...
mNewsTitle.setText(result);
しかし
Html.fromHtml
はAndroid N+で非推奨になりました
新しい方法は何/どうすれば見つかりますか?
どのように解決するのですか?
更新
:
として
アンディは次のように述べています。
Googleは
HtmlCompat
を使用することで、以下のメソッドの代わりに使用できます。この依存関係を追加する
implementation 'androidx.core:core:1.0.1
をアプリのbuild.gradleファイルに追加してください。の最新版を使用するようにしてください。
androidx.core:core
.
これにより、使用することができます。
HtmlCompat.fromHtml(html, HtmlCompat.FROM_HTML_MODE_LEGACY);
各フラグについての詳細は HtmlCompat-documentation
オリジナルの回答です。
Android Nでは、新しい
Html.fromHtml
というメソッドがあります。
Html.fromHtml
は、flags という名前の追加パラメータを必要とするようになりました。このフラグによって、HTMLの表示方法をより細かく制御することができます。
Android N 以上では、この新しいメソッドを使用する必要があります。古い方法は非推奨で、将来のAndroidバージョンで削除される可能性があります。
独自のUtil-methodを作成し、古いバージョンでは古いメソッドを、Android N以上では新しいメソッドを使用することができます。バージョンチェックを行わない場合、Androidのバージョンが低いとアプリが壊れます。このメソッドは、Utilクラスで使用することができます。
@SuppressWarnings("deprecation")
public static Spanned fromHtml(String html){
if(html == null){
// return an empty spannable if the html is null
return new SpannableString("");
}else if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.N) {
// FROM_HTML_MODE_LEGACY is the behaviour that was used for versions below android N
// we are using this flag to give a consistent behaviour
return Html.fromHtml(html, Html.FROM_HTML_MODE_LEGACY);
} else {
return Html.fromHtml(html);
}
}
を変換することができます。
HTML.FROM_HTML_MODE_LEGACY
を追加パラメータにすることができます。これにより、どのフラグを使用するかをより詳細に制御することができます。
各フラグについての詳細は Htmlクラスのドキュメント
関連
-
[解決済み】Android 8:クリアテキストのHTTPトラフィックが許可されない
-
[解決済み】Android "ビュー階層を作成した元のスレッドだけが、そのビューに触れることができる"
-
[解決済み] Android getResources().getDrawable() 非推奨 API 22
-
最新のandroidプロジェクトディレクトリにあるarmeabi-v7aとarmeabiの具体的な意味とその違いを教えてください。
-
アンドロイドの遅延実行のいくつかの方法
-
[解決済み] インスタンス状態の保存を使用してアクティビティ状態を保存するにはどうすればよいですか?
-
[解決済み] AndroidでPythonを実行する方法はありますか?
-
[解決済み] EclipseのAndroidプラグインで "Debug certificate expired "エラーが発生する。
-
[解決済み] TextViewのリンクをクリック可能にする方法
-
[解決済み】Android UserManager.isUserAGoat()の正しい使用例?)
最新
-
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 実装 サイバーパンク風ボタン
おすすめ
-
aapt2エラー:ログを確認する(具体的な原因の探り方)
-
最新のandroidプロジェクトディレクトリにあるarmeabi-v7aとarmeabiの具体的な意味とその違いを教えてください。
-
android exception - aapt.exe has stopped working.
-
view.getRootView()の本当の意味とテストについて
-
Android ProgressBarの色を変更する
-
Android Bluetooth 開発の基本プロセス
-
[解決済み] TextViewにHTMLを表示するには?
-
[解決済み] AndroidのTextViewで、フォントスタイルを太字、斜体、下線に設定するにはどうしたらいいですか?
-
[解決済み】XMLのhtml形式の文字列リソースからTextViewのテキストを設定する
-
[解決済み] 1つのTextViewで複数の色のテキストを表示する