使用PreferenceActivity和ActionBarActivity

时间:2013-09-06 05:02:52

标签: android

是否可以将ActionBarActivityPreferenceActivity结合使用。基本上,我想使用以下代码:

getSupportActionBar().setDisplayHomeAsUpEnabled(true); // Enables the "back" arrow

问题是PreferenceActivity不包含getSupportActionBar()方法,ActionBarActivity不包含任何管理和显示首选项的方法。

3 个答案:

答案 0 :(得分:7)

如果您愿意将PreferenceActivity转换为PreferenceFragment,则有一个基于support-v4片段的实现:

https://github.com/kolavar/android-support-v4-preferencefragment

我自己使用它,它与ActionBarActivity一起工作得很好!

答案 1 :(得分:3)

ActionBarCompat该功能尚不支持。

  

How to add Action Bar from support library into PreferenceActivity?

在HoneyComb中添加了

ActionBar可以使用以下代码:

if(Build.VERSION.SDK_INT >= Build.VERSION_CODES.HONEYCOMB)
    getActionBar().setDisplayHomeAsUpEnabled(true);

答案 2 :(得分:2)

有些人希望getSupportActionBar()使用PreferenceActivity。用Android 6编译

在你的类中声明这个扩展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();