Есть ли простой способ настроить панель инструментов из действия из фрагмента?
Я работаю над приложением, в котором я использую одно действие для загрузки всех своих фрагментов. В одном из моих фрагментов я сделал просмотр списка, когда при нажатии на элемент вы отправляете другой фрагмент.
В каждом фрагменте у меня есть меню гамбургера для навигации между моими фрагментами, но в моем "фрагменте подробностей" я хочу использовать значок "Назад" вместо меню "Гамбургер", есть простой способ заменить основную панель инструментов и заменить ее на панель инструментов с задним кнопка вкл.
2 ответа
Решение
Фрагмент детали должен быть внутри новой активности. Не стоит помещать навигацию следующего уровня в существующую активность. Вы можете найти больше об этом здесь.
В вашем фрагменте переопределите onCreateOptionsMenu()
и добавить кнопку назад
@Override
public void onCreateOptionsMenu(Menu menu, MenuInflater inflater) {
super.onCreateOptionsMenu(menu, inflater);
menu.clear();
setToolbar();
}
private void setToolbar() {
Toolbar ftoolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);
if (ftoolbar != null) {
ftoolbar.setNavigationIcon(R.drawable.back_button);
ftoolbar.setNavigationOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
getFragmentManager().popBackStack();
}
});
}
}