4

私のデータはdbにhtml形式で保存されています。

画像はbase64形式で保存されます(dbの文字列として)。

このデータを表示しようとしています。

私のtextViewは次のように設定されています:

setText(Html.fromHtml(コンテンツ));

「コンテンツ」内のすべての html タグが正しく表示されています。「img」タグ (base64 エンコード イメージを含む) を除く。

だから、私の質問は: 'Html.fromHtml' のタグ 'img' は base64 イメージで文字列をデコードできますか?

ps: タグが表示されている場所は、小さな灰色の四角だけです。エラーはありません。

どうも。

4

1 に答える 1

1

Html.fromHtmlの独自の実装と組み合わせて使用​​しますHtml.ImageGetter

ここを参照してください。

をオーバーライドするときHtml.ImageGetter.getDrawableは、Base64文字列をバイト配列に変換し(を使用できますandroid.util.Base64)、それをにフィードしてBitmapFactory.decodeByteArrayを生成し、Bitmapこれをaのコンストラクターに渡してBitmapDrawable返すことができます。

例えば:

Html.fromHtml(content, new Html.ImageGetter() {
        @Override
        public Drawable getDrawable(String source) {
            byte[] data = Base64.decode(source, Base64.DEFAULT);
            Bitmap bitmap = BitmapFactory.decodeByteArray(data, 0, data.length);                
            return new BitmapDrawable(getResources(), bitmap);
        }
}, null);
于 2012-05-14T17:02:13.087 に答える