'无法对非静态方法进行静态引用'错误android

时间:2013-03-08 14:44:56

标签: android webview android-webview

下面我写了我收到错误的函数,即 -

  

“无法从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");
}

2 个答案:

答案 0 :(得分:4)

变化:

WebView.setWebViewClient(yourWebClient);

为:

webView.setWebViewClient(yourWebClient);

通过将webView中的“W”大写,您指的是类android.webkit.WebView。这使得Java在该类中寻找一个名为setWebViewClient()的静态方法,它找不到它,因此会抛出错误。

答案 1 :(得分:0)

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