我已经尝试了一切让我的“前进”和“后退”工作.
刷新工作[我通过将方法更改为’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 举报,一经查实,本站将立刻删除。