В моем приложении я использую компонент навигации. Я использовал только одну активность и пару Fragment.MainActivity размещает весь фрагмент. я установил пользовательский AppBar в MainActivity. я хочу изменить AppBar для определенного Fragment.to сделать это, вот мой код
public class MessageFragment extends Fragment {
private FragmentMessageBinding messageBinding;
private ChatActionBarBinding barBinding;
ActionBar actionBar;
public MessageFragment() {
// Required empty public constructor
}
@Override
public View onCreateView(LayoutInflater inflater, ViewGroup container,
Bundle savedInstanceState) {
// Inflate the layout for this fragment
messageBinding = DataBindingUtil.inflate(inflater, R.layout.fragment_message, container, false);
return messageBinding.getRoot();
}
@Override
public void onViewCreated(@NonNull View view, @Nullable Bundle savedInstanceState) {
super.onViewCreated(view, savedInstanceState);
actionBar = ((AppCompatActivity) getActivity()).getSupportActionBar();
actionBar.setDisplayHomeAsUpEnabled(true);
actionBar.setHomeButtonEnabled(true);
actionBar.setDisplayShowCustomEnabled(true);
actionBar.setDisplayShowTitleEnabled(false);
LayoutInflater layoutInflater = LayoutInflater.from(getActivity());
barBinding = DataBindingUtil.inflate(layoutInflater, R.layout.chat_action_bar, null, false);
actionBar.setCustomView(barBinding.getRoot());
}
}
, когда я перехожу к этому перкулярному фрагменту AppBar изменяется, как и ожидалось. НоПроблема в том, что когда я нажимаю кнопку «Назад» или перехожу к другому фрагменту, панель приложений остается прежней. Она не изменяется в зависимости от фрагмента. Вот скриншот моего приложения.
есть ли решение?