2015-05-14 2 views
3

Так что я пытаюсь использовать панель инструментов в качестве ActionBar в приложении. Я пытаюсь использовать метод setSupportActionBar() во фрагменте, который размещается в действии, которое расширяет класс, который расширяет AppCompatActivity. По какой-то причине я вообще не могу сделать getActivity().setSupportActionBar(), я могу делать только getActivity().setActionBar(). Проблема с этим заключается в том, что setSupportActionBar() принимает android.support.v7.widget.Toolbar, где setActionBar() принимает только android.widget.Toolbar. Это заставляет мое приложение ограничиваться только устройствами, использующими Lollipop.Разница между setSupportActionBar и setActionBar

второстепенный вопрос я нашел в том, что при попытке изменить тему моей панели инструментов в темноте с

app:theme="@style/ThemeOverlay.AppCompat.Dark" 

он не работает.

ответ

4

getActivity() имеет класс Activity, даже если ваш Activity является своего рода подклассом AppCompatActivity. Вы должны бросить getActivity(), вызовите

((AppCompatActivity)getActivity()).setSupportActionBar() 

Для Тематической-задачи вы должны размещать детали, где вы поставили какой стиль четкости или скорее положить его в отдельный вопрос.

+0

Спасибо, проблема темы была решена путем использования android.support.v7.widget.Toolbar вместо android.widget.Toolbar. –

Смежные вопросы