android WebView goBack和goForward不能与WebViewClient一起使用

时间:2010-12-15 08:37:07

标签: android

我使用WebViewClient在webview中显示网页,还添加了后退和前进按钮进行导航,但是它不起作用,每当我点击后退和前进按钮时,它不会转到目标网址而是保持在同一个网址

请帮帮我。我需要它

2 个答案:

答案 0 :(得分:2)

我已禁用缓存,然后就可以了:

 WebView webView = (WebView)findViewById(R.id.webView);
 webView.getSettings().setCacheMode(WebSettings.LOAD_NO_CACHE);

答案 1 :(得分:1)

这是一个适合我的代码:

package debut.stackoverflow;

import android.app.Activity;
import android.os.Bundle;
import android.view.View;
import android.view.View.OnClickListener;
import android.webkit.WebView;
import android.webkit.WebViewClient;
import android.widget.Button;

public class StackoverflowActivity extends Activity {
    /** Called when the activity is first created. */
    @Override
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
         setContentView(R.layout.main);
         final WebView webview = (WebView) findViewById(R.id.webView1);
         webview.setWebViewClient(new HelloWebViewClient());
         ((Button)findViewById(R.id.buttonBackward)).setOnClickListener(
            new OnClickListener() {
                @Override
                public void onClick(View v) {
                    webview.goBack();                       
                }
            });
         ((Button)findViewById(R.id.buttonForward)).setOnClickListener(
            new OnClickListener() {
                @Override
                public void onClick(View v) {
                    webview.goForward();                        
                }
            });
        webview.loadUrl("http://www.google.com");
    }

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