Android webView.canGoBack()不再工作
最近,所有基于我的Android webView.canGoBack()不再工作,android,webview,onbackpressed,Android,Webview,Onbackpressed,最近,所有基于我的WebView的应用程序开始出现后退按钮问题。它看起来与一些Android组件的更新问题,请帮助解决这个问题或一些替代解决方案 webView.canGoBack()始终返回false 注:前几天所有的应用程序都运行良好 我是这样使用它的: @Override public void onBackPressed() { if (webView.canGoBack()) { webView.goBack();
WebView
的应用程序开始出现后退按钮问题。它看起来与一些Android组件的更新问题,请帮助解决这个问题或一些替代解决方案
webView.canGoBack()
始终返回false
注:前几天所有的应用程序都运行良好
我是这样使用它的:
@Override
public void onBackPressed() {
if (webView.canGoBack()) {
webView.goBack();
} else {
super.onBackPressed();
}
}
用这样的方式创建自己的canGoBack
ArrayList<String> urls = new ArrayList<>();
urls.add(www.google.com);
//after that you need override this method
webView.setWebViewClient(new WebViewClient() {
@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
Log.d(TAG, "shouldOverrideUrlLoading: "+url);
urls.add(url);
return true;
}
@Override
public void onPageStarted(WebView view, String url, Bitmap favicon)
{
super.onPageStarted(view, url, favicon);
pDialog.show();
}
@Override
public void onPageFinished(WebView view, final String url) {
pDialog.dismiss();
}
});
//for onBackPressed, same like in custom button for back click option
@Override
public void onBackPressed() {
if(!canGoBack()
{
super.onBackPressed();
}
}
//Custome Method
public boolean canGoBack()
{
if(urls.size() == 1) // home page
{
return false;
}
else
{
webView.loadUrl(urls.get(urls.size()-2)); // load previous url
urls.remove(urls.size()-1); // remove last loaded url
return true;
}
}
ArrayList URL=new ArrayList();
url.add(www.google.com);
//之后,您需要重写此方法
setWebViewClient(新的WebViewClient(){
@凌驾
公共布尔值shouldOverrideUrlLoading(WebView视图,字符串url){
view.loadUrl(url);
Log.d(标记“shouldOverrideUrlLoading:+url”);
添加(url);
返回true;
}
@凌驾
public void onPageStarted(WebView视图、字符串url、位图favicon)
{
super.onPageStarted(视图、url、favicon);
pDialog.show();
}
@凌驾
公共void onPageFinished(WebView视图,最终字符串url){
pDialog.disclose();
}
});
//对于onBackPressed,与自定义按钮中的back click选项相同
@凌驾
public void onBackPressed(){
如果(!canGoBack()
{
super.onBackPressed();
}
}
//自定义方法
公共布尔canGoBack()
{
if(url.size()==1)//主页
{
返回false;
}
其他的
{
webView.loadUrl(url.get(url.size()-2));//加载上一个url
url.remove(url.size()-1);//删除上次加载的url
返回true;
}
}
我也注意到了这一点。请检查并确认。没错,希望他们能在更新中尽快修复。