2015-10-05 129 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如果觉得有用,请接受答案。 –