#android #android-studio #android-fragments
#Android #android-studio #android-фрагменты
Вопрос:
Привет, ребята, кто-нибудь, пожалуйста, помогите,,,, очень усердно пытаюсь решить это, но не в состоянии сделать… надоела эта проблема, у меня есть родительская активность, в которой есть панель навигации с фрагментами Home, Search, Books, Profile. добавлено 3 вкладки в домашний фрагмент. Из первого фрагмента вкладки я хочу заменить его новым фрагментом, т.е. фрагментом BookDetails, который должен быть похож на Home-BookDetails-Cart-Login … и когда я нажимаю назад, он должен перейти к соответствующим старым фрагментам. Как я могу это сделать????
Ответ №1:
- Если вы переходите от
NavigationDrawer
, используйтеreplace
. - При переходе к дочернему фрагменту используйте
add
и вставляйте текущий фрагментbackstack
.
Это решит вашу проблему
Теперь в этом сценарии всякий раз, когда пользователь нажимает «Назад» из дома, Поиск книг или фрагмента профиля, он закрывает ваше приложение.
И если вы находитесь внутри сведений о книге и нажимаете назад, это переместит вас в HomeFragment.
Ваш код для HomeFragment
кажется прекрасным (как вы опубликовали в комментарии)
Но при переходе от HomeFragment
к BookDeatailsFrag
вам следует использовать add
вместо replace
BookDeatailsFrag fragment = new BookDeatailsFrag();
FragmentTransaction fragmentTransaction = getChildFragmentManager().beginTransaction();
fragmentTransaction.addToBackStack("home");
fragmentTransaction.add(R.id.details, fragment, "detail").commit();
Комментарии:
1. это просто строка, вы можете указать там что угодно. проверьте здесь
2. предложение: как разработчик, вы должны сначала попробовать все. Если не удастся, по крайней мере, вы получите некоторую ошибку и некоторые знания, чтобы решить эту ошибку 🙂
3. одна проблема решена тем, что я могу заменить текущий фрагмент на новый фрагмент. Мне просто нужно решить проблему с обратным нажатием. поскольку я следил за тем, что вы сказали, то также закрывает приложение при обратном нажатии
4. Привет, он работает нормально, при обратном нажатии появляется пустой экран, отличный от Home Frag…is можно ли получить домашнюю страницу вместо пустого экрана?