-8

下面我编写了出现错误的函数,即 -

“无法从 WebView 类型对非静态方法 setWebViewClient(WebViewClient) 进行静态引用”。

我得到它的线****在它的开头。如何纠正这个错误?

public class Webview extends Activity {

WebView webView;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.activity_webview);

    //webviewclient
    WebViewClient yourWebClient = new WebViewClient()
       {
           // Override page so it's load on my view only
           @Override
           public boolean shouldOverrideUrlLoading(WebView  view, String  url)
           {
               view.loadUrl(url);
               return true;
           }
       };

    webView = (WebView) findViewById(R.id.webView1);
    webView.getSettings().setJavaScriptEnabled(true);
****    WebView.setWebViewClient(yourWebClient);
    webView.loadUrl("http://www.google.com");
}
4

2 回答 2

4

改变:

WebView.setWebViewClient(yourWebClient);

到:

webView.setWebViewClient(yourWebClient);

通过将 中的“W”大写webView,您指的是 class android.webkit.WebView。这使得 Java 寻找setWebViewClient()在该类中调用的静态方法,但它没有找到,因此引发错误。

于 2013-03-08T14:45:53.650 回答
0

那是因为您指的是 WebView 类。不是你的对象 webView。注意小写的“w”

于 2013-03-08T14:47:18.443 回答