带有站点的自定义Android WebView

带有站点的自定义Android WebView,android,web,view,webview,Android,Web,View,Webview,AndroidNoobie在这里,我试图创建一个定制的AndroidWebView,它将成为jar文件的一部分。我希望web视图在应用程序中使用时加载特定页面,我有以下代码: public MyWebView(Context context) { super(context); init(context); } public MyWebView(Context context, AttributeSet attrs) { super(context, attrs);

AndroidNoobie在这里,我试图创建一个定制的AndroidWebView,它将成为jar文件的一部分。我希望web视图在应用程序中使用时加载特定页面,我有以下代码:

public MyWebView(Context context) {
    super(context);
    init(context);
}

public MyWebView(Context context, AttributeSet attrs) {
    super(context, attrs);
    init(context);
}

public MyWebView(Context context, AttributeSet attrs, int defStyle) {
    super(context, attrs, defStyle);
    init(context);
}

private void init(Context context) {
    this.setWebViewClient(new WebViewClient());
    this.addJavascriptInterface(new WebAppInterface(context), "JS");


    super.getSettings().setJavaScriptEnabled(true);
    super.loadUrl("file:///android_asset/webviewcontent.html");
}
然而,我发现它有两个问题。 1.当我去使用它的活动时,它会抱怨

java.lang.NoSuchMethodError:android.webkit.WebView.getSettingsLandroid/webkit/WebSettings; 位于corbide.com.cvsexample.MyWebView.initMyWebView.java:35

当我运行这个应用程序时,页面是空白的,没有任何事情发生。但是,如果我使用常规web视图,然后在onCreate中,我会:

webview.setWebViewClient(new WebViewClient());
webview.addJavascriptInterface(new WebAppInterface(context), "JS");
webview.getSettings().setJavaScriptEnabled(true);
webview.loadUrl("file:///android_asset/webviewcontent.html");

它按预期工作。。我错过了什么。欢迎指点

您能否发布fill MyWebView代码以及使用WebView的活动部分?您不应该在WebView仍在执行构造函数时加载页面,因为WebView尚未完全初始化,这可能不会引起您的问题,但这是一个干净设计的问题。只需执行如下操作:改为新建MyWebViewcontext.loadPage。如果不重写WebViewClient的某些方法,则设置WebViewClient毫无意义。您在什么设备上运行应用程序?安卓版本?仿真器?