Mantenha a barra de ação exibida ao alterar o PreferenceScreen
Estou tentando exibir uma barra de ação na minha tela de preferências. Para fazer isso, adicionei o seguinte código no meu SettingActivity
public class PreferencesActivity extends ActionBarActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.preferences_activity);
getFragmentManager().beginTransaction()
.replace(R.id.container, new PreferencesFragment()).commit();
getSupportActionBar().setDisplayOptions(ActionBar.DISPLAY_SHOW_TITLE | ActionBar.DISPLAY_SHOW_HOME | ActionBar.DISPLAY_HOME_AS_UP);
getSupportActionBar().setDisplayHomeAsUpEnabled(true);
}
}
o resto do meu código no PreferencesFragment. Isso funciona bem, mas assim que pressiono a preferência PreferenceScreen, a barra de ação fica oculta. Se eu voltar à tela principal de preferências, posso vê-la novamente. Alguma idéia de como manter a barra de ação exibida (e atualizada com o rótulo PreferenceScreen)?
Editar: Observando o código do PreferenceScreen, parece que uma caixa de diálogo em tela cheia é aberta quando o PreferenceScreen é clicado. Como minha preferência tem um título, o Diálogo também deve exibir um título ... mas não
// Set the title bar if title is available, else no title bar
final CharSequence title = getTitle();
Dialog dialog = mDialog = new Dialog(context, context.getThemeResId());
if (TextUtils.isEmpty(title)) {
dialog.getWindow().requestFeature(Window.FEATURE_NO_TITLE);
} else {
dialog.setTitle(title);
}