android – WebView Back,Refresh,Forward?根本行不通!

我已经尝试了一切让我的“前进”和“后退”工作.

刷新工作[我通过将方法更改为’webView.reload();’来解决这个问题.而不是’webView.refresh();’

任何人都可以协助前进和后退吗?我试过’前锋’,’canGoForward’和’goForward’以及’后退’,’canGoBack’和’goBack’.没有错误代码,但这些方法实际上都没有做任何事情.

public boolean onCreateOptionsMenu(Menu menu) {
    super.onCreateOptionsMenu(menu); // Add menu items,second value is the id,use this in the onCreateOptionsMenu
    menu.add(0,1,"Back");
    menu.add(0,2,"Refresh");
    menu.add(0,3,"Forward");
    return true; // End of menu configuration
}
public boolean onoptionsItemSelected(MenuItem item){ // Called when you tap a menu item
    switch (item.getItemId()){
        case 1: //If the ID equals 1,go back
            webView.goBack();
        return true;
        case 2 : //If the ID equals 2,refresh
            webView.reload();
        return true;
        case 3: //If the ID equals 3,go forward
            webView.goForward();
        return true;
        }
    return false;
    }
@Override
public boolean onKeyDown(int keyCode,KeyEvent event) { // Enables browsing to prevIoUs pages with the hardware back button
    if ((keyCode == KeyEvent.KEYCODE_BACK) && webView.canGoBack()) { // Check if the key event was the BACK key and if there's history
        webView.goBack();
        return true;
    }   // If it wasn't the BACK key or there's no web page history,bubble up to the default
        // system behavior (probably exit the activity)
    return super.onKeyDown(keyCode,event);
}

}

最佳答案
您共享的代码包括您创建webview的部分以及在URL之间导航.所以我只是猜测可能会发生什么.

似乎webview是您的类的实例字段,其中您已在问题中显示了该部分.是否每次导航到新页面时都会重新创建webView?也就是说,代码类似于:

webview = new WebView(this);
webview.loadUrl("http://slashdot.org/");

如果这是正在完成的工作,您只需创建一次’webView’,并在每次需要导航到新网址时调用loadUrl.这样webview实例将能够保留历史记录.

相关文章

Android性能优化——之控件的优化 前面讲了图像的优化,接下...
前言 上一篇已经讲了如何实现textView中粗字体效果,里面主要...
最近项目重构,涉及到了数据库和文件下载,发现GreenDao这个...
WebView加载页面的两种方式 一、加载网络页面 加载网络页面,...
给APP全局设置字体主要分为两个方面来介绍 一、给原生界面设...
前言 最近UI大牛出了一版新的效果图,按照IOS的效果做的,页...