Восстановить историю и текущую страницу при возобновлении веб-просмотра - PullRequest
5 голосов
/ 03 января 2011

У меня есть веб-просмотр, по которому я перемещаюсь. Я реализовал вернуться и идти вперед. Моя проблема в том, что когда я возвращаюсь в веб-просмотр после посещения другого действия, история теряется, т. Е. Веб-просмотр начинается с первого URL.

Как мне его кодировать, чтобы после того, как я вызову финиш в веб-просмотре, чтобы переключиться на другое действие по возвращении в веб-просмотр, WebBackForwardList будет восстановлен, и я попаду на страницу, на которой я был, когда покинул веб-просмотр? *

Я попытался переопределить onSaveInstanceState и onRestoreInstanceState с помощью webview.save/restoreState(bundle), но безуспешно.

Я достиг возврата к последней странице, сохранив последний URL в настройках, но не смог восстановить всю историю.

1 Ответ

2 голосов
/ 09 января 2011

Вы повторно используете веб-просмотр?

Javadoc для restore () сообщает:

Этот метод должен вызываться для восстановления состояния WebView перед использованием объекта.Если он вызывается после того, как WebView получил шанс на создание состояния (загрузка страниц, создание списка перемотки назад и т. Д.), Это может привести к нежелательным побочным эффектам.

, поэтому при регенерации объекта веб-просмотраможет помочь.

Другие возможности исследования:

  • WebView.restore () вызывает list.addHistoryItem (item) без очистки списка, так что если у вас есть webView, который повторно используется , это может помочь вызвать webView.clearHistory () перед восстановлением ().

  • Этот SO-ответ подразумевает, что есть сообщение, которое вы можете отправить в список истории для добавления элементов.

Удачи, и, пожалуйста, опубликуйте свой прогресс.

- Ларри

...