json字符串为html语言,怎么显示在手机上

后台Json返回的字符串,某个字段的内容是一个字符串,但是字符串里面的内容是一段html语言,该语言的内容包括文字与
          图片,怎么拿到内容显示在手机上?
     
          1)首先通过jsonObject根据该字段拿到字段后面的内容:
                String  data = jsonObject.getString( "description" );
          2)通过WebView显示内容, webView .loadDataWithBaseURL( null , data , "text/html" , "UTF-8" , null );
                头尾两个参数是url,这里不用管,因为要显示的只是后台返回的字符串内容。
          3)注意:这里不要使用 webView .loadData(data3, "text/html" , "UTF-8" );
                因为使用这个方法有很多毛病,图片不能显示或者文字乱码。
                本人遇到的问题:
                a.使用loadData,如果只在后面指定UTF-8,则图片是能显示的,但是文字是乱码;
                b.如果对data进行了Unicode的转码,则图片不能显示,显示的是乱码。
                所以这个方法不要使用。
          4)为什么不要使用loadData方法?
                如果字段后面的内容有文字以及图片,则该方法显示有问题。
                如果包含的内容只有文字,那么我们连webView都可以不用了,显示内容我们直接用一个TextView即可,步骤:
                         a.在XML文件中定义一个TextView;
                         b. 通过jsonObject根据该字段拿到字段后面的内容;
                               String  data = jsonObject.getString( "description" );
                         c.把内容转成Spanned:
                              Spanned spanned = Html.fromHtml(data);
                         d.给控件设置内容:
                              findView(R.id.textview).setText(spanned);
                               Spanned和String类型都是集成自CharSequence,所以可以直接给textView设置文本内容,并且设置出来的
                              内容是带有html格式的--即设置出来的内容和网页显示的内容格式是一致的,这个用起来比较方便,虽然我们
                              是用一个TextView设置的内容,但是显示的时候会根据网页内容一样有换行等。

                    如果返回的内容是有图片,我们用这种方法也可以让图片显示出来,但是显示的图片有时候会有问题,图片只是
                    显示一小块,并且不显示图片本身的内容,像是一个默认的图片,很小。
             5)如果返回的字段内容只包含图片,没有内容,可以用webView.loadData方法。
                    网上说这个方法不能加载出来图片,但是经过亲测发现的确是可以加载出来的,可能是在某些情况下不能,这个
                    情况还没有遇到过。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值