設定画面の作り方
自分メモってことで纏めておく。
作りながら、にはなるのですが手順てきには以下?
- PreferenceActivity を継承したクラスを作る
- 内部クラスに PreferenceFragment を継承したクラスを作る
- Activity の onCreate で Fragment を new して replace
- Fragment の onCreate では addPreferencesFromResource のみで良いのかどうか
- xml/preferences.xml 作成
- values/strings.xml 編集など
- AndroidManifest に追加するのを忘れてた
- onCreate で getActionBar().setHomeButtonEnabled(true) する
- setDisplayHomeAsUpEnabled(true) も
- あと上な書き方はダウト
- onOptionalItemSelected 定義して android.R.id.home なソレで finish
簡単なのであればこれで OK なんですが、ちょい前に作ったソレは色々ヤッてて本当にご苦労さま、って思っていたり (ぇ
追記
以前の自分ログ見たら ActionBar なソレの記述があったので追加するなど。以下のエントリです。
もうひとつ
ActionBar な初期処理は丁寧に書く必要あり。
ActionBar actionBar = getActionBar(); actionBar.setHomeButtonEnabled(true); actionBar.setDisplayHomeAsUpEnabled(true);
つうか、ご苦労さま、な実装では setDisplayHomeAsUpEnabled してないな。とりあえず一旦これで commit 作って通信関連な処理の実装に着手な台風の土曜日。
さらにもうひとつ
PreferenceFragment の場合は backstack の操作はしなくても良いのか。てか PreferencesActivity に載せてるんだから当り前か。
FragmentTransaction transaction = getFragmentManager().beginTransaction(); MyPreferenceFragment obj = new MyPreferenceFragment(); transaction.replace(android.R.id.content, obj); transaction.commit();
この一連の記述は Preferences 固有の書き方ですね。