элемент меню навигации не выделяется при переключении фрагмента 1 на фрагмент 2 с нажатием кнопки во фрагменте 1

В моем приложении есть два фрагмента, а именно HomeFragment и FeedbackFragment. В дополнение к переключению фрагментов на кнопках вкладок мне также нужно было бы переключаться между фрагментами при нажатии кнопки, которая находится внутри фрагмента. Элементы вкладок подсвечиваются правильно при переключении фрагментов с помощью табуляции. Но элементы вкладки не выделяются, когда я переключаюсь на другой фрагмент нажатием кнопки из фрагмента1

Ниже приведен код, используемый для переключения между фрагментами при нажатии кнопки, и он работает.

    FragmentTransaction fragmentTransaction =  getActivity().getSupportFragmentManager().beginTransaction();
    fragmentTransaction.replace(R.id.fragment, fragment);
    fragmentTransaction.addToBackStack(null);
    fragmentTransaction.commit();

Но соответствующий значок вкладки FeedbackFragment не выделен. В настоящее время элемент навигации HomeFragment остается выделенным даже после замены FeedbackFragment. Как выделить пункт меню фрагмента обратной связи?

Я пробовал следующие подходы, но ничего не получилось:

BottomNavigationView bottomNavigationView = (BottomNavigationView)   findViewById(R.id.navigation);

View view = bottomNavigationView.findViewById(R.id.tab_calls);
view.performClick();

Также,

  MainActivity.mBottomBar.selectTabAtPosition(2);

Ничего не сработало. Пожалуйста помоги.


person AndroidNewBee    schedule 17.06.2019    source источник
comment
посмотрите на эту ссылку, она может вам помочь   -  person kAvEh    schedule 17.06.2019


Ответы (2)


Попробуйте использовать метод, чтобы выбрать вкладку, как если бы она была нажата:

bottomNavigationView.setSelectedItemId(R.id.tab_calls)
person Xenolion    schedule 17.06.2019
comment
Да, я пробовал все это, но бесполезно :( Приведенные примеры предназначены для выделения значка элемента вкладки при нажатии элементов вкладки. Но в моем случае я хочу выделить нижний элементNavigationView при нажатии кнопки из другого фрагмента. выделение элемента работает отлично, когда я нажимаю на элемент вкладки, чтобы переключаться между фрагментами.Но мне нужно было бы включить фрагменты с помощью локальной кнопки внутри моего фрагмента.В таких случаях я не могу получить доступ к bottomNavigationView, который доступен в MainActivity из мой фрагмент. - person AndroidNewBee; 18.06.2019
comment
Вы уже нашли решение? - person Xenolion; 18.06.2019

Что я сделал сейчас, так это то, что в onResume каждого фрагмента я пытаюсь выделить все остальные панели вкладок и снова выделить текущую панель вкладок. Я получаю доступ к bottomNavigationMenu из каждого фрагмента и делаю это. Не уверен, что это правильный способ справиться с этим, но, по крайней мере, он работает.

person Veepee    schedule 19.06.2019