2015-10-05 127 views
1

基本上我的搜索引擎標誌每隔一段時間更新一次。麻煩的是,網頁永遠不會更新,除非我重新安裝應用程序,所以我禁用了緩存。爲什麼onPageFinished方法無法識別?

然而,它口口聲聲說:

無法解析法 'onPageFinished(android.webkit.WebView,java.lang.String中)'

這裏是我的代碼

package tk.burningflame.flamesearch; 

import android.support.v7.app.ActionBarActivity; 
import android.os.Bundle; 
import android.view.KeyEvent; 
import android.webkit.WebView; //import WebView class 
import android.webkit.WebViewClient; //import WebViewClient class 

public class MainActivity extends ActionBarActivity { 

    @Override 
    public void onBackPressed() { 
     if (webView.canGoBack()) { 
      webView.goBack(); 
     } else { 
      super.onBackPressed(); 
     } 
    } 

    @Override 
    public void onPageFinished(WebView view, String url) { 
     super.onPageFinished(view, url); 
     view.clearCache(true); 
    } 

    @Override 
    protected void onCreate(Bundle savedInstanceState) { 
     super.onCreate(savedInstanceState); 
     setContentView(R.layout.activity_main); 


     WebView view = (WebView) this.findViewById(R.id.webView); 
     view.getSettings().setJavaScriptEnabled(true); 
     view.setWebViewClient(new MyBrowser()); 
     view.loadUrl("http://www.burningflame.tk/search"); 
    } 

    private class MyBrowser extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
     } 
    } 
} 
+1

細算['ActionBarActivity'(https://developer.android.com/reference/android/support/v7/app/ActionBarActivity.html),沒有超類樹中任何地方的onPageFinished方法。編譯器異常是正確的。 –

+0

@Luiggi是正確的,你正在考慮['WebViewClient'](http://developer.android.com/reference/android/webkit/WebViewClient.html)的'onPageFinished()'方法,覆蓋'onPageFinished'將只適用於一類擴展'WebViewClient' – CubeJockey

+0

你問過同樣的問題,昨天請不要刪帖只是爲了重新發布它們。如果你編輯你的帖子,它會'碰撞'到最近激活的隊列。 – CubeJockey

回答

1

有一個在ActionBarActivity沒有onPageFinished()方法。你可以調用的WebViewClientonPageFinished()方法:

private class MyBrowser extends WebViewClient { 
     @Override 
     public boolean shouldOverrideUrlLoading(WebView view, String url) { 
      view.loadUrl(url); 
      return false; 
     } 

     @Override 
     public void onPageFinished(WebView view, String url) { 
      super.onPageFinished(view, url); 
      view.clearCache(true); 
     } 
    } 
+0

對不起(這裏沒有親)。只有我現在得到的錯誤:私人內部類'MyBrowser'從未使用 – Onion

+0

您使用過'view.setWebViewClient(new MyBrowser());'? –

+0

@Onion如果覺得有用,請接受答案。 –