пункт меню навигации не выделяется при переключении фрагмента1 на фрагмент2 нажатием кнопки во фрагменте1 - PullRequest
0 голосов
/ 17 июня 2019

В моем приложении есть два фрагмента, а именно 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);

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

Ответы [ 2 ]

0 голосов
/ 19 июня 2019

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

0 голосов
/ 17 июня 2019

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

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