Использование Viewpager с NavigationDrawer приводит к пустой странице

Когда щелкаешь элементы NavigationDrawer, основной контейнер активности переключает фрагменты для отображения, он работал нормально, пока я не встретил это:

1.Перешел на FragmentA,который СОДЕРЖИТ VIEWPAGER,показал хорошо.

2.Перешел на фрагмент Б,фрагмент Б показал себя хорошо.

3. Переключился обратно на FragmentA, он отображается как пустой вид

Я попытался перевернуть его по горизонтали, я вижу, что индекс просмотра страницы изменился (в журнале), но я не знаю, почему он отображается как пустая страница. * и, если фрагментА доза не содержит просмотр пейджера, это сработало хорошо

Любое предложение будет оценено.

Я использую replace() для переключения между фрагментами:

FragmentManager fragmentManager = getSupportFragmentManager();
        fragmentManager.beginTransaction()
                .replace(R.id.container, currentFragment)
                .commit();

person topxebec    schedule 14.04.2014    source источник
comment
На самом деле мы ничего не можем вам сказать, не видя кода.   -  person Karakuri    schedule 14.04.2014


Ответы (1)


Возможная причина может заключаться в том, что вы не используете replace транзакцию, вместо этого вы можете добавлять фрагменты и добавлять их в стопку. Попробуйте использовать транзакцию замены и посмотрите, работает ли она.

Fragment1 firstFragment = new Fragment1();
Bundle bundle = new Bundle();
firstFragment.setArguments(bundle);
getSupportFragmentManager().beginTransaction()
.replace(R.id.article_fragment, firstFragment)
.commit();

Узнайте больше о добавлении фрагментов в задний стек: фрагмент Android транзакция: FragmentManager и Backstack

person zIronManBox    schedule 14.04.2014
comment
Спасибо. Извините, что не опубликовал свой код раньше, я использовал replace(). Но я попробую добавить фрагменты, которые вы упомянули, и посмотрю, работает ли он. - person topxebec; 14.04.2014