2012年2月21日火曜日

WebViewのclearHistoryで履歴が消えない件


AndroidのWebViewを使ってて
いくらclearHistory()呼んでも全然履歴が消えないと思ったらこういうことでした。

「1ページ読み込んだあとに呼ばないと消さないよ。」

例)ページAを表示後、ページBを表示する
【間違ったやり方】
 1.Aをロード
 2.Bの読み込み前にclearHistory()
 3.Bをロード
 履歴は消えません。この時点での履歴:B、A

【正しいやり方】
 1.Aをロード
 2.Bをロード
 3.Bの読み込み完了後、clearHistory()
 Aの履歴が消えます。この時点での履歴:B

WebViewClientのonPageFinishedで呼んでやると、きれいに消してくれました。

よく考えてみると、確かにこの順番でやるのが正しい。
そうならそうとリファレンスに書いといてくれてもいい気がする。

0 件のコメント: