Использование PreferenceActivity и ActionBarActivity
Можно ли использовать ActionBarActivity в сочетании с PreferenceActivity. В принципе, я хочу использовать следующий код:
getSupportActionBar().setDisplayHomeAsUpEnabled(true); // Enables the "back" arrow
Проблема заключается в том, что PreferenceActivity не содержит метод getSupportActionBar(), а ActionBarActivity не содержит методов управления и отображения настроек.
Ответы
Ответ 1
Если вы хотите превратить свою PreferenceActivity в PreferenceFragment, существует реализация, основанная на фрагменте поддержки-v4:
https://github.com/kolavar/android-support-v4-preferencefragment
Я использую его сам, и он отлично работает в сочетании с ActionBarActivity!
Ответ 2
ActionBarCompat
функция еще не поддерживается.
Как добавить панель действий из библиотеки поддержки в PreferenceActivity?
ActionBar, добавленный в HoneyComb, может использовать следующий код:
if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
getActionBar().setDisplayHomeAsUpEnabled(true);
Ответ 3
Для некоторых людей нужно использовать getSupportActionBar()
с PreferenceActivity
. Скомпилировано с Android 6
Объявите это в своем классе extends PreferenceActivity
private AppCompatDelegate mDelegate;
И добавьте это:
private AppCompatDelegate getDelegate() {
if (mDelegate == null) {
mDelegate = AppCompatDelegate.create(this, null);
}
return mDelegate;
}
И вызовите панель действий:
android.support.v7.app.ActionBar actionBar = getDelegate().getSupportActionBar();