使用Html.fromhtml()在textview中显示图像;

时间:2014-04-22 01:42:20

标签: android html android-image

我有一个列表适配器来显示我的社交网络内容,我需要在文本中放入img标签,我已经尝试使用Html.fromhtml并且它正在格式化文本而不是显示img它显示为灰色方。

我怎样才能实现这一目标?我读过有关ImageGetter的内容,但我仍然没有说清楚。

由于

2 个答案:

答案 0 :(得分:8)

您可以使用Image TextViewHtmlimg tag中绘制Html.ImageGetter。但请确保您的图片在resource drawable文件夹

中可用

这是一个示例,图像将从资源加载。

String htmlText = "Hai <img src=\"ic_launcher\"> Hello";

textView.setText(Html.fromHtml(htmlText, new Html.ImageGetter() {

@Override
public Drawable getDrawable(String source) {
   int resourceId = getResources().getIdentifier(source, "drawable",getPackageName());
   Drawable drawable = getResources().getDrawable(resourceId);
   drawable.setBounds(0, 0, drawable.getIntrinsicWidth(), drawable.getIntrinsicHeight());
            return drawable;
        }
    }, null));

答案 1 :(得分:2)

 String mIsi = (String) bundle.get("isi");
        isi.setText(Html.fromHtml(mIsi, new Html.ImageGetter() {
            @Override
            public Drawable getDrawable(final String source) {
                Picasso.get()
                        .load(source).into(imageView, new Callback() {
                    @Override
                    public void onSuccess() {
                        drawable = imageView.getDrawable();

                        drawable.setBounds(0, 0,
                                drawable.getIntrinsicWidth(),
                                drawable.getIntrinsicHeight());
                    }

                    @Override
                    public void onError(Exception e) {
                        Log.v("test pic","err"+e.getMessage());
                    }
                });

                imageView.setVisibility(View.GONE);

                return drawable;
            }
        }, null));