Не проверяя ваш код, я думаю, что вы описываете, что ваши страницы не синхронизированы, и у вас есть устаревшие данные.
Вы говорите, что изменяете количество страниц, а затем сбой, потому что вы получаете доступстарый набор страниц.Для меня это звучит так, как будто вы не звоните pageAdapter.notifyDataSetChanged()
после изменения данных.
Когда ваш viewPager
показывает страницу 3 из набора из 10 страниц, и вы переходите на набор только с 5, тогдапозвоните по номеру notifyDataSetChanged()
, и вы увидите, что сейчас просматриваете страницу 3 нового набора.Если вы ранее просматривали страницу 8 старого набора, после ввода нового набора и вызова notifyDataSetChanged()
вы обнаружите, что просматриваете последнюю страницу нового набора без сбоев.
Если вы просто изменитеваша текущая страница, возможно, вы просто маскируете проблему.