Задать вопрос
@DarkByte2015

Как менять фрагменты?

На форме лежит BottomNavigationView. Хочу чтобы по нажатию одной кнопки появлялся один фрагмент, по нажатию другой - другой. Как это сделать? Про фрагменты читал. Просто добавлять их уже умею. Но не понимаю именно как их смену организовать.

upd. Нашел такой способ:

supportFragmentManager.beginTransaction().replace(R.id.content, MyFragment()).commit()


Но проблема в том что начинает перекрываться текст. Т.е. я положил например на каждый фрагмент по TextView с названием фрагмента. Вначале (при открытии приложения) на главном лайауте лежит первый фрагмент, я нажимаю кнопку и он меняется на второй фрагмент, но содержимое первого судя по всему остается видно! Он не заменяется, а как-бы добавляется. И из-за этого начинает перекрываться текст. Вот так это выглядит:

dz12wT3L.png

Не знаю что делать :(
  • Вопрос задан
  • 172 просмотра
Подписаться 1 Простой 8 комментариев
Помогут разобраться в теме Все курсы
  • Нетология
    Android-разработчик с нуля
    14 месяцев
    Далее
  • Яндекс Практикум
    Android-разработчик
    12 месяцев
    Далее
  • Академия Eduson
    Android-разработчик
    6 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
@Andrew_21
В файле разметки фрагмента для главного контейнера добавьте
<android.support.constraint.ConstraintLayout // ваш контейнер
...
android:background="@color/white"
android:clickable="true"
android:focusable="true" />


Еще есть методы
supportFragmentManager.beginTransaction().hide(R.id.content, MyFragment()).commit()
supportFragmentManager.beginTransaction().show(R.id.content, MyFragment()).commit()
может для вашей задачи лучше подойдут
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы