我有一个简单的 WebViewClient 类,它应该返回<p>
我当前所在页面的所有元素(在 webview 中)
这是代码
public class SearchClient extends WebViewClient {
class MyJavaScriptInterface {
@SuppressWarnings("unused")
public void processHTML(String[] html) {
Log.w("Length", String.valueOf(html.length));
for(String s : html)
{
Log.w("Row", s.toString());
}
}
}
public SearchClient(WebView wv)
{
wv.addJavascriptInterface(new MyJavaScriptInterface(), "HTMLOUT");
}
public void onPageFinished(WebView view, String url) {
view.loadUrl("javascript:window.HTMLOUT.processHTML(document.getElementsByTagName('p'));");
}
}
document.getElementsByTagName
显然正在返回元素,因为 processHTML 函数中的“Log.w”行有超过 100 个字符串......但是 for 循环崩溃了。为什么是这样??