2013-03-08 51 views
-7

下面,我已經寫在那裏我遇到了錯誤的功能,這是 -「不能讓一個靜態引用非靜態方法」的錯誤的Android

「不能使靜態參考從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"); 
} 
+1

您正在使用WebView類,而不是您創建的webview對象。 – Pragnani 2013-03-08 14:46:49

回答

4

變化:

WebView.setWebViewClient(yourWebClient); 

到:

webView.setWebViewClient(yourWebClient); 

通過webView資本的 「W」,你指的是對類android.webkit.WebView。這使得Java在該類中尋找一個名爲setWebViewClient()的靜態方法,該方法找不到它,並因此引發錯誤。

+0

哦,是的,這讓我迷惑了一個小時哈哈。 – 2013-03-08 14:47:43

0

這是因爲您指的是WebView類。不是你的對象webView。注意小寫'w'

相關問題