Я хотел бы поблагодарить @pyko за отличный ответ, но у него есть проблема, что он не будет хорошо работать на HoneyComb и выше.хорошо, у вас может быть хакерский способ обойти это, как сказал @AndroidDev;Но @pyko будет загрязнять класс ActionBarHelperBase, а @AndroidDev не очень прозрачен. Лучший способ - создать ActionBarActivityPreferences, который расширяет PreferenceActivity;и в методе onCreate измените порядок вызова родительского метода:
@Override
protected void onCreate(Bundle savedInstanceState) {
//IMPORTATNT: MAKE SURE actionBarHelper called before super;
//as super oncreate of prefenceactivity is actuallying setting the content view
mActionBarHelper.onCreate(savedInstanceState);
super.onCreate(savedInstanceState);
}
почему вызывает 'mActionBarHelper.onCreate (saveInstanceState);'перед 'super.onCreate (saveInstanceState);'Это связано с тем, что super (то есть PreferenceActivity) фактически устанавливает представление контента в своем методе onCreate, что приведет к сбою («requestFeature () должен быть вызван перед добавлением контента»).уверен, что 'mActionBarHelper.onCreate (saveInstanceState);'перед супер