WebView中展示json中的html

本文展示了如何使用WebView在Android应用中展示包含HTML标签的JSON字符串,并提供了XML布局和MainActivity.java代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

有的时候,我们可能会遇到这种情况:

在从服务器获取的数据中含有html标签的json字符串,这要通过一个webview来展示出来,下面就这个问题进行简单的示例:

有如下的json字符串:

String htmlData = "<p style="text-align:center">  <img src="http://f.expoon.com/news/2013/10/09/881020.jpg" title="旅游商品博览会资料图" alt="旅游商品博览会资料图" /></p><p style="text-align:center"><strong>旅游商品博览会资料图</strong><br /></p><p style="text-align:justify;"><strong>  基本信息</strong></p><p style="text-align:justify;">  英文名称: Beijing Tourism Commodity Fair</p><p style="text-align:justify;">  所属行业: 旅游/酒店/餐饮</p><p style="text-align:justify;">  展会时间: 2013.10.10-2013.10.13</p><p style="text-align:justify;">  所属地区: 中国北京朝阳区</p><p style="text-align:justify;">  展会认证: 网展认证</p><p style="text-align:justify;">  展会地址: 北京市朝阳区东三环北路16号</p><p style="text-align:justify;">  场    馆: 全国农业展览馆</p><p style="text-align:justify;">  主办单位: 北京市旅游发展委员会</p><p style="text-align:justify;">  承办单位: 北京京展佳会国际会议展览有限公司</p><p style="text-align:justify;">  支持单位: 中国旅游协会</p><p style="text-align:justify;">  <strong>展会信息</strong></p><p style="text-align:justify;">  主办单位:北京市旅游发展委员会</p><p style="text-align:justify;">  指导单位:中华人民共和国国家旅游局</p><p style="text-align:justify;">  支持单位:中国旅游协会</p><p style="text-align:justify;">  承办单位:北京京展佳会国际会议展览有限公司</p><p style="text-align:justify;">  展览时间:2013年10月10日至13日(布展时间10月08日-09日)</p><p style="text-align:justify;">  展览地点:北京全国农业展览馆</p><p style="text-align:justify;">  展览面积:30000 </p><p style="text-align:justify;">  预计商户:1000家</p><p style="text-align:justify;">  预计观众:10万人次</p><p style="text-align:justify;">  【秉承理念】</p><p style="text-align:justify;">  展会主题:平台同享 合作共赢</p><p style="text-align:justify;">  办展宗旨:展示精品、扩大交流、加强合作、促进交易</p><p style="text-align:justify;">  举办目的:着力打造三个平台,一是,打造旅游商品研发设计、生产营销、采购消费等上下游多方对接交流的平台;二是,打造旅游商品行业买家与卖家洽商交易的平台;三是,打造旅游商品行业发展的引领示范平台。</p><p style="text-align:justify;">";

xml布局:

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:paddingBottom="@dimen/activity_vertical_margin"
    android:paddingLeft="@dimen/activity_horizontal_margin"
    android:paddingRight="@dimen/activity_horizontal_margin"
    android:paddingTop="@dimen/activity_vertical_margin"
    tools:context=".MainActivity" >
	
    <WebView
        android:id="@+id/webview" 
        android:layout_height="fill_parent"
        android:layout_width="fill_parent"
        />

</RelativeLayout>

MainActivity.java的代码:

package com.example.webviewdemo;

import android.os.Bundle;
import android.app.Activity;
import android.view.Menu;
import android.webkit.WebSettings.LayoutAlgorithm;
import android.webkit.WebView;

public class MainActivity extends Activity {

	private WebView wv;

	@Override
	protected void onCreate(Bundle savedInstanceState) {
		super.onCreate(savedInstanceState);
		setContentView(R.layout.activity_main);
		wv = (WebView) findViewById(R.id.webview);
		wv.getSettings().setLayoutAlgorithm(LayoutAlgorithm.SINGLE_COLUMN);

		String htmlData = "&lt;p style=&quot;text-align:center&quot;&gt;  &lt;img src=&quot;http://f.expoon.com/news/2013/10/09/881020.jpg&quot; title=&quot;旅游商品博览会资料图&quot; alt=&quot;旅游商品博览会资料图&quot; /&gt;&lt;/p&gt;&lt;p style=&quot;text-align:center&quot;&gt;&lt;strong&gt;旅游商品博览会资料图&lt;/strong&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;&lt;strong&gt;  基本信息&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  英文名称: Beijing Tourism Commodity Fair&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  所属行业: 旅游/酒店/餐饮&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  展会时间: 2013.10.10-2013.10.13&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  所属地区: 中国北京朝阳区&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  展会认证: 网展认证&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  展会地址: 北京市朝阳区东三环北路16号&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  场 &amp;nbsp; &amp;nbsp;馆: 全国农业展览馆&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  主办单位: 北京市旅游发展委员会&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  承办单位: 北京京展佳会国际会议展览有限公司&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  支持单位: 中国旅游协会&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  &lt;strong&gt;展会信息&lt;/strong&gt;&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  主办单位:北京市旅游发展委员会&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  指导单位:中华人民共和国国家旅游局&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  支持单位:中国旅游协会&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  承办单位:北京京展佳会国际会议展览有限公司&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  展览时间:2013年10月10日至13日(布展时间10月08日-09日)&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  展览地点:北京全国农业展览馆&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  展览面积:30000 &lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  预计商户:1000家&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  预计观众:10万人次&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  【秉承理念】&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  展会主题:平台同享 合作共赢&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  办展宗旨:展示精品、扩大交流、加强合作、促进交易&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;  举办目的:着力打造三个平台,一是,打造旅游商品研发设计、生产营销、采购消费等上下游多方对接交流的平台;二是,打造旅游商品行业买家与卖家洽商交易的平台;三是,打造旅游商品行业发展的引领示范平台。&lt;/p&gt;&lt;p style=&quot;text-align:justify;&quot;&gt;";

		htmlData = htmlData.replaceAll("&", "");
		htmlData = htmlData.replaceAll("quot;", "\"");
		htmlData = htmlData.replaceAll("lt;", "<");
		htmlData = htmlData.replaceAll("gt;", ">");

		wv.loadDataWithBaseURL(null, htmlData, "text/html", "utf-8", null);
	}

}

Tips:

  注意:要在AndroidManifest.xml文件中添加访问网络的权限:<uses-permission android:name="android.permission.INTERNET"/>


这样就可以展示出来了。






评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值