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

Как получить доступ к панели действий из фрагмента (android.support.v4.app.Fragment). Я использую библиотеку поддержки Android v4 и v7. Я не пользуюсь библиотекой Шерлока.

Активность, в которой размещается фрагмент, — это ActionBarActivity.

Я прочитал раздел справки Android Fragment, который также привел меня к getActivity(), но нет метода getSupportActionBar().

ActionBar actionBar = getActivity().getSupportActionBar()

person Reafidy    schedule 06.08.2013    source источник


Ответы (2)


Я прочитал фрагмент раздела справки Android, который привел меня к getActivity(), но нет метода getSupportActionBar().

Вам нужно будет привести результат getActivity() к ActionBarActivity, на котором вы найдете getSupportActionBar().

person CommonsWare    schedule 06.08.2013
comment
Так просто, когда знаешь как. Спасибо за вашу помощь. - person Reafidy; 07.08.2013
comment
Для тех, кто не смог понять, что он сказал, просто используйте этот код ActionBar actionBar = ((ActionBarActivity)getActivity()).getSupportActionBar(); - person rockydgeekgod; 31.01.2015
comment
Или вы можете использовать AppCompatActivity. Вот пример kotlin (активность как AppCompatActivity).supportActionBar!!.setDisplayHomeAsUpEnabled(true) - person Brandon; 14.01.2020

Если вы используете AppCompatActivity, сделайте это следующим образом.
((AppCompatActivity )getActivity()).getSupportActionBar();

Также рекомендуется перейти на Панель инструментов с AppCompatActivity вместо панели действий (панели приложений). Дополнительные сведения см. на этом http://android-developers.blogspot.in/2014/10/appcompat-v21-material-design-for-pre.html

person Mightian    schedule 02.10.2015