再次创建容器时,addJavascriptInterface似乎不适用于我

再次创建容器时,addJavascriptInterface似乎不适用于我,java,javascript,android,webview,Java,Javascript,Android,Webview,第一次,显示对话框: public class MyWebView extends Dialog { protected WebView mWebView; protected void onCreate(Bundle savedInstanceState) { mWebView.addJavascriptInterface(new JavaScriptInterface(),"js2java"); mWebView.getSettings

第一次,显示对话框:

public class MyWebView extends Dialog 
{
    protected WebView mWebView;

    protected void onCreate(Bundle savedInstanceState) {

        mWebView.addJavascriptInterface(new JavaScriptInterface(),"js2java");

        mWebView.getSettings().setJavaScriptEnabled(true);
    }

}

    public class JavaScriptInterface
    {
        public void test(String response)
        {
            MyToast.showMessage(QWWebView.this.getContext(),response);
        }
    }
可以成功调用函数“test”,然后关闭MyWebView实例,然后再次显示它:

new MyWebView().show();

无法调用函数“test”。

不确定这是否是您的问题,但我最近在添加所需定义时遇到了JavaScripInterface问题。这可以通过明确定义java脚本中要使用的函数来解决

new MyWebView().show();
另请注意,@SuppressWarnings(“unused”)将消除恼人的unused函数警告


在您的代码示例中,我看不到您执行脚本的意义

不是那个,我最终将容器更改为活动并解决了它。似乎Discover只是隐藏对话框,而不是销毁它。
public class JavaScriptInterface
{
    @JavascriptInterface
    public void test(String response)
    {
        MyToast.showMessage(QWWebView.this.getContext(),response);
    }
}