0

У меня есть FragmentStatePagerAdapter, который содержит, скажем, три Fragment s. Fragments: A (позиция 0), B и C (позиция 2). Fragment B в настоящее время видно.Make ViewPager забыть текущую позицию позиции при изменении данных

При взаимодействии с пользователем, я позвоню notifyDataSetChanged(), и теперь есть пять Fragments. Это D (позиция 0), E, ​​F, G и H (позиция 4).

Текущее поведение: Fragment E отображается по умолчанию после изменения данных. (ViewPager остается на прежнем месте.) Однако я бы хотел, чтобы ViewPager показывал пункт position-0 каждый раз, когда FragmentStatePagerAdapter получает новые данные.

Я пробовал setCurrentItem(0) на ViewPager. Но Fragment E все еще отображается до ViewPager прокрутки до Fragment D.

Любое решение?

ответ

0

Вы должны использовать setCurrentItem(0, false) вместо

Edit:

общественного недействительными setCurrentItem (интермедиат пункт, логическое smoothScroll)

ложные отключения smoothScroll

http://developer.android.com/reference/android/support/v4/view/ViewPager.html#setCurrentItem%28int,%20boolean%29

+0

Однако, если я просто хочу, чтобы «ViewPager» сразу показывал нулевую страницу без прокрутки? Я думал, что увидел что-то вроде 'setPrimaryItem()' – Jonas

+0

извините, это была моя ошибка в setPrimaryitem(). Вы должны использовать 'setCurrentItem (0, false)' not 'setCurrentItem (0)' 'public void setCurrentItem (int item, boolean smoothScroll)', false означает, что нет smoothScroll –

+0

Но есть еще какой-то прокрутка? Могу ли я сразу показать нулевой элемент? – Jonas

Смежные вопросы