ViewPager - определяет, когда страница выходит из поля зрения

Я использую ViewPager в своем приложении для отображения информации за определенный период времени - каждая страница содержит информацию на соответствующую дату. Там довольно много этой информации, а также взаимодействие с пользователем, чтобы изменить эту информацию. Когда информация меняется, мне нужно сохранить ее в базе данных sqlite.

Хотя я могу автоматически сохранять информацию в БД каждый раз, когда она изменяется в результате взаимодействия с пользователем, это крайне неэффективно - и я хочу сохранить ее один раз. Когда страница выходит из поля зрения, она может быть переработана, что приведет к потере информации. В идеале я хочу сохранить информацию о дате в базе данных, когда страница выходит из поля зрения, - но я не могу найти способ подключиться к этому событию.

Это очень легко увидеть, когда новая страница представлена, используя ViewPager.OnPageChangeListenerТем не менее, я не вижу способа поймать страницу, выходящую из поля зрения - методы либо направлены на то, чтобы поймать новую страницу, переходящую в поле зрения, либо на общую прокрутку, которая может указывать или не указывать выход страницы.

Я уже расширяюсь от FragmentStatePageAdapter для моего адаптера, так что, возможно, может подключиться к чему-то там. К сожалению, документация по Android заведомо редка для чего-либо, кроме обычных сценариев - и чтения FragmentStatePageAdapter Документация по API предоставляет очень мало информации, кроме того, что дает мне представление о том, что это, вероятно, правильный путь вперед - возможно saveState а также restoreState методы - но они, похоже, имеют дело с состоянием адаптера, а не с фрагментами для каждой страницы.

Кто-нибудь может предложить способ решить эту проблему?

0 ответов

Другие вопросы по тегам