TextVeiw加载HTML代码块内图片

html代码块里面加载图片,
加载数据 ” <p> xxxxx内容。</p><img src=”http://hg-test.com/lppt/weChat_official_account.jpg” />”
正常些加载会报异常,不能在主线程加载网络图片,解决方法

Drawable drawable;
    Html.ImageGetter imageGetter = new Html.ImageGetter() {
        @Override
        public Drawable getDrawable(String s) {
            if (drawable != null) {
                return pic;
            }
            else {
                getImage(s);
            }
            return null;
        }
    };
 private void getImage(final String s) {
        new Thread(new Runnable() {
            @Override
            public void run() {
                try {
                    final Drawable d = Drawable.createFromStream(new URL(s).openStream(), "");
                    context.runOnUiThread(new Runnable() {
                        @Override
                        public void run() {
                            if (d != null) {

      //必须设置                          
      d.setBounds(0,0,600,600);
                               drawable = d;
                                if (Build.VERSION.SDK_INT >= 24){
                                    textview.setText(Html.fromHtml(source,Html.FROM_HTML_MODE_COMPACT,imageGetter,null));
                                }else{
                                    textview.setText(Html.fromHtml(source,imageGetter,null));
                                    }
                            }
                        }
                    });
                } catch (IOException e) {
                    e.printStackTrace();
                }
            }
        }).start();

评论

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

这个站点使用 Akismet 来减少垃圾评论。了解你的评论数据如何被处理