設定画面にアクションバーを表示しようとしています。そうするために、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);
}
}
次に、PreferencesFragment の残りのコードです。これは問題なく動作しますが、PreferenceScreen 設定を押すとすぐに、アクションバーが非表示になります。設定のメイン画面に戻ると、再び表示されます。アクションバーを表示し続ける (そして PreferenceScreen ラベルで更新する) 方法はありますか?
編集: PreferenceScreen コードを見ると、PreferenceScreen をクリックすると全画面ダイアログが開かれるように見えます。私の設定にはタイトルがあるため、ダイアログにもタイトルが表示されるはずです...しかし、そうではありません
// 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); }