在开发android app时,常常碰到新闻客户端的开发,新闻客户端的新闻详细页面很可能是一个html,android端需要用webview来展示,但是如果需要webview与android端相互调用,都会用到js与android端的相互调用,但是如果要传递一个json数据到webview,调用网页的js来解析json获取数据来调用相关的方法,那就需要js解析json。
js解析json,我用的是eval函数。
function initToupiaoTest() {
//date是手机端传递过来的对象,get获取一个json
var str = eval("("+datas.getTestJson().toString()+")");
var main = str['main'],questions = str['questions'];
for(var i=0;i< questions.length;i++)
{
console.log('hello : ******测试**** >>>>>>>>> = '+questions[i]._id);
for(var j=0;j<questions[i].answers.length;j++)
{
//alert(questions[i].answers[j].title)//拿到answers的元素
console.log('hello : ******测试**** >>>>>>>>> = '+questions[i].answers[j].title);
}
}
}
//模拟数据
var str = '{"main":{"_id":"xxx","catid":"1707","description":"","exit_content":"","exit_title":"","exit_url":"","status":10,"sub_title":"","title":"list\u6d4b\u8bd5","checkresult":0},"questions":[{"_id":"xxx","title":"Q2\uff1a","type":"radio","is_required":"1","answers":[{"_id":"xxx","title":"A.","hits":15},{"_id":"xxx","title":"B.","hits":11}]},{"_id":"xxx","title":"Q1\uff1a","type":"radio","is_required":"1","answers":[{"_id":"xxx","hits":12,"title":"titleA."},{"_id":"xxx","hits":17,"title":"titleB."}]}]}';
//生成表单
<div id="toupiao">
<h4>
<span></span>
<P style="color:#ffffff;background-image: url(bluel.png);font-family: '微软雅黑';" id="q_title">您觉得这次改版如何</p>
<span></span>
</h4>
<form >
<div id="qlist">
<!-- 这里是生成表单内容-->
</div>
<div style="width:100%;text-align:center;"><input type="button" name="aa" style="color:#ffffff;background-image: url(bluel.png);width:80%;line-height:38px;height:38px;font-family: '微软雅黑';" value="显示投票结果" onClick="hi()"/></div>
</form>
</div>
//js代码
var main = str['main'],questions = str['questions'],htmlArr = new Array();
for(var i=0;i< questions.length;i++)
{
//alert(questions[i]._id)//拿到questions的元素
htmlArr.push('<p style="font-weight:bold;" id="'+questions[i]._id+'">'+questions[i].title+'</p>');
for(var j=0;j<questions[i].answers.length;j++)
{
//alert(questions[i].answers[j].title)//拿到answers的元素
htmlArr.push('<label class="input"><input type="radio" name="aa" id="'+questions[i]._id+'"> '+questions[i].answers[j].title+'</label><br>');
}
}
document.getElementById('qlist').innerHTML = htmlArr.join('');
如果展示的radio样式有问题,在webview中展示为一条下划线,那么在代码中注释掉如下代码
/*mWebview.getSettings().setLayoutAlgorithm(
WebSettings.LayoutAlgorithm.SINGLE_COLUMN);*/
相关推荐
在Android应用开发中,内嵌WebView是一个非常常见的需求,它允许开发者在应用程序中展示网页内容。WebView组件是Android SDK提供的一种原生控件,能够直接在应用内部加载和显示HTML、CSS以及JavaScript等内容,极大...
本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 首先,我们需要了解`Android WebView`。WebView是Android系统提供的一种组件,它能够加载并显示网页内容,就像是...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序内部加载和显示网页内容,无需跳转到外部浏览器。这个“Android webview加载网页.zip”文件可能包含了一个示例项目或者教程,帮助开发者理解...
总的来说,Android Webview播放网页视频涉及的关键点包括:开启JavaScript支持、实现WebChromeClient、处理全屏视频以及管理应用的生命周期。通过这些步骤,我们可以使Webview成功地在Android应用中加载和播放网页...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。当涉及到用户界面交互,特别是展示包含图片的网页时,我们可能需要实现一些额外的功能,比如点击图片放大查看。本篇文章...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。有时候,我们可能希望去除WebView中的标题部分,以实现更自定义化的界面设计。本篇文章将详细探讨如何在Android的...
本文将深入探讨如何使用WebView加载网页以及本地图片,并解决缓存问题。 一、WebView的基本使用 1. 初始化WebView:首先,我们需要在布局XML文件中添加WebView组件,并在对应的Activity或Fragment中找到该组件。...
但是WebView也可以传递一种很重要很常用的数据格式-json数据. 传递json和传递String数据是一样的,关键就是HTML5端对json数据通过eval()函数进行解析 传递过程中android端调用的最重要的一个函数就是: ...
Android Webview 拦截 Ajax 请求的详细讲解 Android Webview 提供了页面加载及资源请求的钩子,但是对于 H5 的 Ajax 请求并没有提供干涉的接口。这意味着我们不能在 Webview 中干涉 JavaScript 发起的 HTTP 请求,...
在Android开发中,`WebView` 是一个非常重要的组件,它允许开发者在应用程序内嵌入一个浏览器,用于显示网页内容。本篇文章将详细讲解如何利用 `WebView` 实现网页数据的缓存,使得在网络不稳定或者断开的情况下,...
在Android开发中,有时我们需要将XML数据解析并展示在用户界面上,这通常可以通过WebView来实现,因为它可以加载HTML页面并展示丰富的Web内容。在这个场景中,XML数据被解析成JSON格式,然后在WebView中渲染。以下是...
本文将详细介绍如何在Android的Webview中与JavaScript交换JSON对象数据,特别是当JavaScript需要调用Android对象并接收JSON返回值时。 首先,为了让Webview能够执行JavaScript代码,我们需要启用JavaScript支持。在...
本文将深入探讨如何使用Android WebView加载网页,包括基本使用、配置设置、与JavaScript交互以及处理网络权限等问题。 一、WebView基础 1. 添加依赖 在Android Studio项目中,首先确保在`build.gradle`(Module)...
在Android开发中,WebView是一个非常重要的组件,它允许在应用程序中加载和显示网页内容,同时提供了与网页交互的能力。其中一个常见的需求就是通过WebView模拟网页的POST操作,这通常用于实现登录功能、表单提交等...
在Android开发中,Webview通常被用来加载网页内容并实现应用程序与网页之间的交互。然而,有时我们可能有需求在不依赖Webview的情况下实现Android应用与JavaScript的交互。本文将深入探讨这种非Webview方式的交互...
在本文中,我们将深入探讨如何在Android应用中使用Webview与JavaScript结合生成图表,这通常用于数据可视化,使得用户能够更直观地理解应用程序中的数据。 一、Webview基础 1. Webview引入:在AndroidManifest.xml...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中内嵌网页内容。通过WebView,我们可以展示HTML、CSS和JavaScript构建的网页,同时还能实现Android应用与网页内容的交互。本节我们将深入探讨...
本文将详细介绍如何在Android中使用`WebView`来获取网页的源码,并封装成一个自定义的`ArthurWebView`组件。 首先,我们了解`WebView`的基本用法。`WebView`继承自`View`,主要通过以下步骤进行初始化: 1. 在布局...
在Android开发中,WebView是一个非常重要的组件,它允许我们在应用程序中加载和显示网页内容。本实例将详述如何使用Android Studio 3.1.2版本,通过WebView来创建一个简单的登录界面,该界面使用本地HTML页面进行...