我在android中的webview中加载一个页面。该页面有一个元素(按钮),代码如下:NB: - 这是第三方网站,我无法控制此处显示的代码: -
<i class="icon close cardClose" role="button" title="Close recently linked screen" tabindex="0"></i>
我想添加一个javascript界面,如下面的方法: -
private class myWebViewClient extends WebViewClient {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
view.addJavascriptInterface(new Object()
{
@JavascriptInterface
public void performClick() throws Exception
{
Toast.makeText(Activity.this, "Login clicked", Toast.LENGTH_LONG).show();
}
}, "login");
return true;
}
}
mWebView.setWebViewClient(new myWebViewClient());
但问题是webview源代码说: -
* @param object the Java object to inject into this WebView's JavaScript
* context. Null values are ignored.
* @param name the name used to expose the object in JavaScript
*/
public void addJavascriptInterface(Object object, String name) {
checkThread();
mProvider.addJavascriptInterface(object, name);
}
该按钮似乎没有名为&#34; name&#34;的属性。如果有人知道的话,请提供一些见解。
答案 0 :(得分:0)
我建议你这样使用它
view.addJavascriptInterface(new JavaScriptInterfaceNew(getActivity(), this), "Android_Normal_Test");
此处JavaScriptInterfaceNew
是您的班级名称,当您需要将某些活动从Android_Normal_Test
传递到webview
activity class
将成为您的对象