Фрагмент открывается в другом контейнере - PullRequest
0 голосов
/ 30 января 2019

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

 fragmentManager.beginTransaction().add(R.id.frame_container_account, fragment5, "5").hide(fragment5).commit();
    fragmentManager.beginTransaction().add(R.id.frame_container_notification, fragment4, "4").hide(fragment4).commit();
    fragmentManager.beginTransaction().add(R.id.frame_container_map, fragment3, "3").hide(fragment3).commit();
    fragmentManager.beginTransaction().add(R.id.frame_container_bookmark, fragment2, "2").hide(fragment2).commit();
    fragmentManager.beginTransaction().add(R.id.frame_container_marker, fragment1, "1").hide(fragment1).commit();

Во фрагменте 1 я заменяю старый фрагмент, и все работает нормально, но когда я пытаюсь открыть новый фрагмент в фрагменте 3, он открывается поверхдругие пункты меню (другие контейнеры)

Вот так я открываю новый фрагмент во фрагменте 1:

 mMarkerAdapter.setOnItemClickListener(new MarkerAdapter.OnItemClickListener() {
        @Override
        public void onItemClick(Marker marker) {
            MarkerDetailsFragment markerDetailsFragment = new MarkerDetailsFragment();
                            Bundle bundle = new Bundle();
                            bundle.putParcelable("marker", marker);
                            markerDetailsFragment.setArguments(bundle);
                            getActivity().getSupportFragmentManager().beginTransaction()
                                            .replace(R.id.frame_container_marker, markerDetailsFragment, "MarkerDetailsFragment")
                                            .addToBackStack(null)
                                            .commit();
        }
    });

Вот так я открываю новый фрагмент во фрагменте3:

mClusterManager.setOnClusterItemClickListener(new ClusterManager
            .OnClusterItemClickListener<Marker>() {
        @Override
        public boolean onClusterItemClick(Marker marker) {
            MarkerDetailsFragment markerDetailsFragment = new MarkerDetailsFragment();
            Bundle bundle = new Bundle();
            bundle.putParcelable("marker", marker);
            markerDetailsFragment.setArguments(bundle);
            getActivity().getSupportFragmentManager().beginTransaction()
                    .replace(R.id.frame_container_map, markerDetailsFragment, "MarkerDetailsFragment")
                    .addToBackStack(null)
                    .commit();
            return true;
        }
    });

PS Fragment3 открывает новый фрагмент только в frame_container_marker и frame_container_bookmark.В frame_container_notification и frame_container_account все работает нормально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...