Изменить заголовок панели инструментов при изменении фрагмента - PullRequest
0 голосов
/ 17 ноября 2018

Здравствуйте, разработчики,

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

toolbar.setTitle("title")

ничего не делает, в то время как

getSupportActionBar().setTitle("title")

работает нормально.

Но я не могу назвать getSupportActionBar() из своего фрагмента, потому чтоэто не статический метод.У кого-нибудь есть идеи, как можно решить эту проблему?

Спасибо, и вы, привет, Pumpanickel

Ответы [ 3 ]

0 голосов
/ 17 ноября 2018

Вы могли бы сделать что-то вроде этого.

 getActivity().getSupportActionBar().setTitle("title")
0 голосов
/ 17 ноября 2018

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

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

0 голосов
/ 17 ноября 2018
((AppCompatActivity)getActivity()).getSupportActionBar().setTitle("title");

просто убедитесь, что вы не звоните до onActivityCreated(), чтобы не получить исключение

...