gpt4 book ai didi

java - 如何迭代 Android JavascriptInterface 返回的项目?

转载 作者:行者123 更新时间:2023-11-29 09:20:32 25 4
gpt4 key购买 nike

我有以下 Java 接口(interface),

public interface JavascriptInterface
{
public MyIterator getItems();
}

public interface MyIterator
{
public boolean hasNext();
public String next();
}

我将其作为 API 公开给 JavaScript 网络应用程序:

Webview webview;
JavascriptInterface webapi;

//init webview and webapi [..]

webview.addJavascriptInterface(webapi, "webapi");

我想知道是否有可能像这样使用 JavaScript for 循环遍历项目:

for (var item in webapi.getItems())
{
//do something with item [..]
}

我必须使用/实现什么类型/方法而不是 MyIterator 来实现这一点,或者我可以以某种方式转换它(使用 JavaScript 帮助程序)?我目前返回一个带有 JSON 的 String 对象,并使用 JavaScript 库对其进行解析。有更简单/更快的解决方案吗?

编辑:JSON 解决方案也有问题,我只能提供静态数据的副本而不能调用方法。

最佳答案

为了给你一个想法,我可以这样做:

function toArray(iterator)
{
arr = new Array();
while (iterator.hasNext())
arr.push(iterator.next());
return arr;
}

for (var item in toArray(webapi.getItems()))
{
//do something with item [..]
}

但我对此仍然不是很满意,因为当我调用 toArray() 时它会迭代,而且我不能 break;。所以有点被骗了..

关于java - 如何迭代 Android JavascriptInterface 返回的项目?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6749625/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com