У меня есть fragment A
, в нем у меня есть вид пейджер с двумя fragment 1.1
и fragment 1.2
этих фрагментов являются детьми фрагментами fragment A
.Как очистить вид фрагментов пейджера
Теперь, когда пользователь получает Фрагмент B, а затем обратно в AI нужно обновить ребенка фрагментов 1.1 и 1.2 опциями внутри фрагмента B. Проблема в том, я не могу обновить фрагменты, как они уже внутри childfragment manager, также когда я возвращаюсь к фрагменту A getItem(int position)
пейджера представления, который не вызывается. Мне удалось удалить все дочерние фрагменты, прежде чем я установил адаптер пейджера, но я не уверен, что это правильный способ выполнить эту функцию.
У меня 1.1 и 1.2 ссылки внутри фрагмента A
спасибо.
Привет, Крис, спасибо за ответ, но когда я вернулся из фрагмента B в A, я снова создаю адаптер. –
Я создал функцию public void setData (Список data) \t { \t \t _fragData = data; \t \t notifyDataSetChanged(); \t} Я назвал его после того, как я установил адаптер в viewpager, но все равно никакого эффекта –
Это лучший способ сделать это. Обратите внимание, что вызов 'notifyDataSetChanged()' для 'PagerAdapter' означает, что страницы изменили места; он отличается от адаптера AdapterVIew, поскольку он не обрабатывает изменения самого элемента. В вашем 'setData()' вы можете попытаться вызвать 'getView(). Invalidate()' на фрагменте, чтобы обновить представление своими данными. Обязательно проверьте, что 'getView()' не является нулевым, потому что это произойдет, когда фрагмент не будет отображаться. –