Есть ли простой способ настроить панель инструментов из действия из фрагмента?

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

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

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();

                }
            });
        }

    }
Другие вопросы по тегам