設定画面の作り方

自分メモってことで纏めておく。
作りながら、にはなるのですが手順てきには以下?

  • 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 固有の書き方ですね。