Наше приложение имеет несколько фрагментов для отображения данных, относящихся к местоположению. Мы использовали FragmentStatePagerAdapter и ViewPager. Пользователь должен иметь возможность добавлять новую страницу и удалять ее. Добавление новой страницы работает нормально, удаление существующей страницы вызывает проблемы. Когда я проверил, у меня было 3 страницы. Я удалил 2-й из левой кнопки меню навигации. Когда я пытаюсь перейти на 3-ю страницу, он показывает вид удаленной страницы, которая является 2-й страницей. И он не показывает 3-ю страницу.
У меня есть Overriden getItem(), где я возвращаю новую страницу. Я скорректировал ItemCount, когда добавлял/удалял новую страницу в адаптер. И я вызвал startUpdate() перед добавлением/удалением, destroy() для удаления любого объекта фрагмента в позиции, finishUpdate() после всего, что сделано. И, наконец, уведомить DataSetChanged().
Вроде ничего не пропущено, но что-то. Я все еще вижу вид удаленного фрагмента, а рядом с ним пустая страница или что-то подобное, в зависимости от того, какую позицию страницы я удаляю. Я вижу, что Удаление фрагментов из FragmentStatePagerAdapter похоже, но не может помочь в моем случае. Помогите мне с любой зацепкой.
FragmentStatePagerAdapter
возникали проблемы всякий раз, когда я пытался изменить данные, стоящие за ним (в моем случае, меняя порядок элементов). Я думаю, что закончил тем, что написал свой собственный адаптер пейджера, который позаимствовал уFragmentStatePagerAdapter
, но значительно изменил поведение при обработке изменений набора данных. К сожалению, у меня нет под рукой кода... - person Karakuri   schedule 10.07.2015