我的应用程序中有一个WebView
,它显示从网页下载的HTML数据。为什么我要加载HTML而不是单独的URL?那么,为了让我能够进行离线搜索,我下载了HTML数据并将其存储在SQL数据库中。webView.canGoBack()在使用loadDataWithBaseURL()时不起作用
一切运作良好,并loadDataWithBaseUrl()
工作后续调用好,并保持在正确加载在我WebView
,但每当用户按下返回键,用户刚刚拍摄到最后一个活动在堆栈中,而不是回去。
我尝试使用下面的代码:
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK) && myWebView.canGoBack()) {
myWebView.goBack();
return true;
}
但后来我试图迫使WebView
回去,没有它是否能或不检查,通过:
// Check if the key event was the Back button and if there's history
if ((keyCode == KeyEvent.KEYCODE_BACK)) {
myWebView.goBack();
return true;
}
但没有任何反应,它只停留在同一个地方。
作为一个仅供参考,我已经试过路过null
和实际URL调用loadData()
时,这里就是我有它设置现在:
view.loadDataWithBaseURL(mUrl, mHtmlData, SearchUtils.MIME_TYPE, SearchUtils.CHARSET, "");
我读到这answer但我希望有更好的运气。
你能尝试使用步法到位的GoBack和传球的是(1)每次PARAM? – lokoko 2013-02-19 04:47:51
试试这个创建自己canGoBack像这样.... https://stackoverflow.com/a/48318991/7181583 – 2018-01-18 10:30:17