- 目前在業務開發中有這么一個需求,切換不同的 Fragment, 切換回 WebView 的Fragment時候,要求是打開的初始頁面,然后我在 onHiddenChanged() 方法中加載默認地址,並調用了 webView.clearHistory() 做清除以前的頁面,但是點擊返回鍵還是可以返回到上一個頁面,而且只有一個頁面,證明 claerHistory 起作用了。但是為什么只有一個還存在一個頁面,是 clearHistory 的調用問題
根據查找原因是因為 clearHistroy 方法調用,會清空頁面以前所有的記錄,但是因為進入當前的 Fragment 的時候,默認 url 還沒有加載完成,所以清除的就是上一個頁面以前的記錄,還保留了上一個頁面。所以會造成點擊返回鍵還有上一個頁面。
針對這種情況,就需要在 webview 加載結束進行監聽了。
目前我的解決辦法是在 onPageFinished 方法中根據 url 做了判斷,假如加載的是默認 url 就把記錄清空了。