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 件のコメント:
コメントを投稿