Фрагмент перекрытия, когда backstack в нижнем виде навигации - PullRequest
0 голосов
/ 09 марта 2019

У меня есть основной вид деятельности, который реализует нижнюю навигационную панель с 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. активная нижняя навигация не изменяется при нажатии назад, даже если фрагмент был изменен.

перекрывающийся фрагмент изображения

1 Ответ

0 голосов
/ 11 марта 2019

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

<FrameLayout xmlns:android="http://schemas.android.com/apk/res/android"
                     xmlns:app="http://schemas.android.com/apk/res-auto"
                     xmlns:tools="http://schemas.android.com/tools" android:orientation="vertical"
                     android:layout_width="match_parent"
                     android:layout_height="wrap_content"
                     android:layout_margin="5dp"
                     android:padding="5dp"
                     android:background="@color/white"
                     android:clickable="true"
                     app:cardCornerRadius="10dp"
                     app:contentPadding="5dp">
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...