#java #android #android-fragments #navigation #android-navigation-graph
#java #Android #android-фрагменты #навигация #android-навигация-график
Вопрос:
Я реализовал много фрагментов, используя навигационный график. Рассмотрим, что у меня есть A-> B-> C-> D, где A, B, C, D — фрагменты в порядке реализации. Теперь я нахожусь на фрагменте D и хочу перейти к фрагменту C нажатием кнопки в D. Как мне это сделать? Также, когда я достигну фрагмента C и нажму кнопку «Назад», это должно привести меня к фрагменту B. Я хочу реализовать навигацию к предыдущему фрагменту и уничтожить текущий фрагмент. т. Е. Перейти к C из D и уничтожить D (не хочу этого при нажатии кнопки назад).
Ответ №1:
вы можете использовать приведенный ниже код, чтобы получить текущую позицию вашего viewpager :
int position = mViewPager.getCurrentItem();
//or
Fragment fragment = adapter.getItem(position);
таким образом, вы также можете использовать этот код для динамического перехода на нужную вкладку, поэтому в прослушивателе нажатия кнопки установите этот код:
viewpager.setCurrentItem(specificFragmentPosition);
// like this: viewpager.setCurrentItem(2);
и для второго вопроса вам нужно переопределить метод onBackPressed () в вашем фрагменте
этот метод вызывается, когда пользователь нажимает кнопку «Назад»…
таким образом, вы можете снова добавить этот код в свой метод onBackPressed (),
viewpager.setCurrentItem(specificFragmentPosition);