微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

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实例将能够保留历史记录.

原文地址:https://www.jb51.cc/android/430421.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐