У меня есть основной вид деятельности, который реализует нижнюю навигационную панель с 5 фрагментами. Например, когда я нажимаю кнопку поиска в первом фрагменте, а затем отображается фрагмент поиска. Но когда я перехожу к другому нижнему навигационному окну (фрагмент c) и нажимаю обратно на телефоне, это вызывает наложение между фрагментом A и фрагментом C.
Это код между фрагментом A и поиском фрагмента
FragmentManager fm = getFragmentManager();
FragmentTransaction ft = fm.beginTransaction();
searchHerbs searchHerbs = new searchHerbs();
searchHerbs.setArguments(arguments);
ft.replace(R.id.main_frame, searchHerbs);
ft.addToBackStack(null);
ft.commit();
это код транзакции фрагмента между фрагментом нижнего навигационного представления
FragmentTransaction fragmentTransaction = getSupportFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.main_frame,fragment);
fragmentTransaction.commit();
Если я отслеживаю код. проблема в :
1. Когда я покидаю поиск фрагмента, нет никакого обратного стека, я хочу добавить его в onDestroyView, но я не знаю как.
2. Я пошел к поиску фрагмента из фрагмента A, используя addbackstack (null).
3. когда я нажимаю другой фрагмент из нижнего навигационного представления (фрагмент с) и жму назад. это вызывает поп-фрагмент к фрагменту А.
Я уже пытался добавить addbackstack (null) в транзакцию фрагмента в нижнем навигационном представлении. Проблема решена, но она создает еще одну проблему, такую как:
1. это вызывает пустой фрагмент, когда я нажимаю назад стек перед закрытием приложений.
2. активная нижняя навигация не изменяется при нажатии назад, даже если фрагмент был изменен.
перекрывающийся фрагмент изображения