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