Фрагменты перекрываются, когда я использую методgmentTransaction.add - PullRequest
0 голосов
/ 08 апреля 2020

Я столкнулся с какой-то странной проблемой с фрагментами, я отображаю карту Google на этих двух фрагментах, при переключении с фрагмента Home Fragment на Request cab, во фрагменте Request cab фрагменты перекрываются, я вижу Home Fragment в фоновом режиме и также кликабельна, я могу переместить карту Home Fragment тоже. Эта проблема возникает, когда я использую fragmentTransaction.add(R.id.frame, fragment, fragmenttag);, но если я использую замену, то она работает нормально, но я хочу вернуть представление onBackPressed, которое невозможно при замене фрагмента mnet. Я прилагаю скриншоты и код.

 public void changeFragment(final Fragment fragment, final String fragmenttag) {
    try {
        drawer_close();
        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction =
                fragmentManager.beginTransaction().addToBackStack(null);
        fragmentTransaction.add(R.id.frame, fragment, fragmenttag);
        fragmentTransaction.commit();
    } catch (Exception e) {
    }
}

Home Fragment

Request Cab Fragment

Ответы [ 2 ]

1 голос
/ 08 апреля 2020

Вам просто нужно добавить фон при добавлении фрагмента.

add(): adds the new fragment on the top of another fragment that's why you can see below fragment

replace(): removes everything then adds the new fragment
0 голосов
/ 08 апреля 2020

добавляет и заменяет работу совсем по-другому, а замена удаляет текущий фрагмент из раздутой группы просмотра. Метод add просто добавляет новый макет внутри ViewGroup. вот почему вы можете видеть свой фрагмент, и поэтому его можно кликнуть, просто думая, что это обычные представления, а не фрагменты. Теперь вы можете просто добавить белый фон к макету root второго фрагмента и сделать его кликабельным, это решит все ваши проблемы.

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