Подтвердить что ты не робот

Настроить панель инструментов как панель действий в фрагменте

Я хочу настроить панель инструментов как панель действий, но поскольку ваша панель инструментов является макетом, она должна быть в вашем макете. Теперь мой макет находится в моем фрагменте.

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

//Toolbar
Toolbar toolbar = (Toolbar) getActivity().findViewById(R.id.toolbar);

Это работает, потому что я могу установить заголовок и так далее, но теперь я хочу, чтобы он реагировал как панель действий, потому что я хочу иметь это на самом деле. setDisplayHomeAsUpEnabled (истина)

Чтобы сделать это, я должен изменить панель инструментов на панель действий:

setSupportActionBar(toolbar);

Это не работает в моем фрагменте...

Может кто-нибудь помочь мне заставить мою панель инструментов работать как фрагмент действия в фрагменте.

4b9b3361

Ответ 1

Теперь ActionBarActivity устарел, поэтому Сначала вам нужно выполнить свою деятельность с getActivity() до AppCompatActivity. Вот пример:

((AppCompatActivity) getActivity()).getSupportActionBar().setSubtitle();

Причина, по которой вы должны ее использовать, заключается в том, что getActivity() возвращает FragmentActivity, и вам нужно AppCompatActivity

Ответ 2

попробовать:

 ((AppCompatActivity)getActivity()).setSupportActionBar(toolbar);

Ответ 3

ActionBar - свойство Activity. Если вы хотите установить панель инструментов из данного фрагмента в качестве ActionBar объекта Owning Activity, тогда получите Activity, которому принадлежит фрагмент (Fragment.getActivity()), и установите его свойство ActionBar.

Затем juse использует тот же метод setDisplayHomeAsUpEnabled, о котором вы упомянули, чтобы начать с ActionBar после установки вашей панели инструментов в качестве ActionBar, чтобы получить кнопку "назад/вверх".

Вам, очевидно, придется тщательно об этом позаботиться, если ваше приложение имеет несколько фрагментов внутри этого Activity.

Ответ 4

Используйте

((ActionBarActivity) getActivity()).getSupportActionBar().setSubtitle("Your Title");