次の投稿を読んで、Html.fromHtml メソッド内に ImageGetter を実装しました: Html.fromHtml problemおよびHtml.ImageGetter。ImageGetter を使用したコードは次のとおりです。
if (mItem != null) {
((TextView) rootView.findViewById(R.id.exercise_detail))
.setText(Html.fromHtml(mItem.description, new ImageGetter(){
@Override public Drawable getDrawable(String source) {
Drawable drawFromPath;
int path =
ExerciseDetailFragment.this.getResources().getIdentifier(source, "drawable",
"com.package.ChaitanyaVarier.mytrainer2go");
drawFromPath = (Drawable) ExerciseDetailFragment.this.getResources().getDrawable(path);
drawFromPath.setBounds(0, 0, drawFromPath.getIntrinsicWidth(),
drawFromPath.getIntrinsicHeight());
return drawFromPath;
}
}, null));
}
パスとなるdescription という文字列 (別のアクティビティ ファイル内) 内の HTML は次のとおりです。
<img src =\"file:///android_asset/img/situp1.png\">
assetsフォルダー内にあるimgという名前のフォルダー内にsitup1.pngという名前の画像を配置しました。
問題は、HTML 内のパスが適切に解析されず、画像を含むアイテムを読み込もうとするとアプリがクラッシュすることです。私は img タグ内の文字列が認識されていることを知っており、デバッグを通じてこれを確認しました。