我的應用程序中有一個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