В вашем RecyclerView вам необходимо внедрить OnClickListener, который уведомляет ваш
фрагмент с нужным меню, а затем вы вызываете invalidateOptionsMenu () для
заставить onCreateOptionsMenu () запустить снова и построить новое меню.
Используя ваш пример с кнопкой, ваш код будет выглядеть так
private int menuId = R.menu.bottomappbar_main_menu; // Your initial menu
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
View view = inflater.inflate(R.layout.fragment_course, container, false);
Button btn = view.findViewById(R.id.button);
btn.setOnClickListener(v -> {
this.menuId = R.menu.bottomappbar_another_menu; // another menu that you want to use
getActivity().invalidateOptionsMenu(); // notify that menu needs to be changed
});
return view;
}
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
// Inflate your menu
inflater.inflate(this.menuId, menu);
super.onCreateOptionsMenu(menu, inflater);
}
Не забывайте, что вам нужно будет создать новый файл меню с нужными вам опциями