将数组从Activity传递给Javascript
Passing Array from Activity to Javascript
我知道有几个类似的线程,但他们实际上并没有回答上面的问题。第一个问题:真的只有原语可以传递吗?(字符串、布尔值、…)第二个问题:如果是这样的话。我在我的活动中有一个字符串数组,我需要它来填充我的WebView中的html表,显然我需要使用Javascript接口来这样做。问题是,我怎么能做到呢?我需要在我的活动中创建一个字符串,把它传递给JS,一旦有重新创建数组吗?
您可以使用JSON作为数据格式。一个简单的方法是使用像GSON http://code.google.com/p/google-gson/这样的库,它可以很容易地将具有自己对象类型的ArrayList转换为string。
通过javascript接口发送给你的WebView,并在JS中使用JSON.parse(Stringname)来重新创建你的数组。
最好的祝愿,蒂姆。
您的选择是使用字符串公开方法,然后您可以使用JSONObject或JSONArray来解析字符串并相应地使用它。
这就是我所做的。
@JavascriptInterface
public void passJSON(String array, String jsonObj) throws JSONException
{
JSONArray myArray = new JSONArray(array);
JSONObject myObj = new JSONObject(jsonObj);
...
}
where array为'["string1","string2"]', jsonObj为'{attr:1, attr2:"myName"}'
"我是否需要在我的活动中创建一个字符串,将其传递给JS并在那里重新创建数组?"这就是我解决问题的方法;在构建字符串时,我向列表中的每个项目附加了一个特殊字符,然后在JS中将其拆分。
var strings = get.list(); // long string from activity.
var item1 = strings.split("=")[0];
var item2 = strings.split("=")[1];
…或者你可以选择library
相关文章:
- 为什么不't Javascript对我的输入值进行了一些重新检查
- 创建一个类似链接的按钮,并通过Javascript函数打开一个新的弹出窗口
- 将函数的上下文应用于javascript变量
- 使用php或javascript从facebook相册URL中删除多余的部分
- 正在添加'X'按钮,在文本字段旁边使用javascript
- 如何在JavaScript中将字符串转换为函数引用
- 模糊事件的Javascript测试
- Javascript更改图标
- 如何将HTML id分配给元素,以及如何将JavaScript应用于元素
- 如何使用WCF服务和javascript表单post上传.doc文件
- javascript结合了数组和字典
- 将 javascript 变量传递给 Android Activity
- 在浏览器'javascript和activity之间传递数据
- 将数组从Activity传递给Javascript
- 无法从Javascript调用一个新的Activity
- 将大数据从Android Activity传输到WebView Javascript
- 从PhoneGap javaScript中启动一个android Activity
- 我可以在没有WebView的情况下运行Javascript吗?或者WebView可以在没有Activity上下文的情况下
- 用javascript函数从fragment调用activity
- 将变量从Android Activity传递到JavaScript