如何在WebView中通过Java传递给JS数组

hztgcl1986 2012-12-01 02:50:27
在WebView中可以通过addJavascriptInterface添加一个Java对象供JS调用
如:

public final class Java2JS
{
public Java2JS()
{

}

public String getString()
{
String value = "Hi, Java2JS!";
return value; //在JS中typeof value结果为string
}

public int getInt()
{
int value = 1;
return value; //在JS中typeof value结果为number
}
}

public class MainActivity extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);

WebView wv = (WebView) this.findViewById(R.id.webView1);
wv.addJavascriptInterface(new Java2JS(), "j2js");
WebSettings ws = wv.getSettings();
ws.setJavaScriptEnabled(true);

wv.loadUrl("http://ip:port/xx.html");
}
}

在JS中可以通过j2js.getInt()、j2js.getString()得到数字与字符串,但是如何才能得到一个数组呢?
我试过,在Java中返回String[]或int[]给JS,在JS中是undefined,也可以返回给JS一个JSONArray,但JS得到的结果是字符串,必须先eval(xx)才能得到数组
...全文
432 4 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
追风筝的孩子 2012-12-06
  • 打赏
  • 举报
回复
这个没试过。。
hztgcl1986 2012-12-06
  • 打赏
  • 举报
回复
有人知道吗?
hztgcl1986 2012-12-03
  • 打赏
  • 举报
回复
有没有谁知道啊? 1楼发的网址中讲的是JSP相关的啊,我说的是Android中WebView与JS的交互
wutaihua 2012-12-01
  • 打赏
  • 举报
回复
不知道楼主下面这篇文章是否可以解决你的问题。这个中间做了一次对java数据的处理。 http://hi.baidu.com/fgjaoyztzqhqvyr/item/a3746ec84895fa0cc710b2c8 我最近也在做这个方面的交互。

80,471

社区成员

发帖
与我相关
我的任务
社区描述
移动平台 Android
androidandroid-studioandroidx 技术论坛(原bbs)
社区管理员
  • Android
  • yechaoa
  • 失落夏天
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧