コンピュータクワガタ

かっぱのかっぱによるコンピュータ関連のサイトです

Androidアプリ入門 No.49 PreferencesActivityの複数画面にまたがる設定

PreferencesActivity

複数画面にまたがる設定

PreferenceScreenを用いることで、複数画面にまたがる設定を簡単に作成することができる。preferences.xmlを以下のようにする。

<PreferenceScreen
        xmlns:android="http://schemas.android.com/apk/res/android">
    <PreferenceCategory
        android:key="category2"
        android:title="基本">
        <CheckBoxPreference
            android:key="check"
            android:title="チェックボックス"
            android:summary="チェックすると状態が変わります"
            android:summaryOn="チェックされています。"
            android:summaryOff="チェックされていません。" />
        <RingtonePreference
            android:key="ringtone"
            android:ringtoneType="notification"
            android:showDefault="true"
            android:showSilent="true"
            android:title="着信音の選択"
            android:summary="選択してください" />
    </PreferenceCategory>
    <PreferenceScreen
        android:title="2画面目">
        <PreferenceCategory
            android:key="category3"
            android:title="拡張画面">
            <EditTextPreference
                android:key="edit"
                android:dialogIcon="@drawable/icon"
                android:dialogTitle="文字を入力してください"
                android:dialogMessage="それでもやるんですか?"
                android:positiveButtonText="はい!"
                android:negativeButtonText="いいえ"
                android:title="テキスト入力"
                android:summary="テキストを設定します。" />
            <ListPreference
                android:key="list"
                android:dialogTitle="選択してください"
                android:entries="@array/aiueoEntries"
                android:entryValues="@array/aiueoEntryValues"
                android:title="何か選択してください"
                android:summary="ひらがなの選択" />
        </PreferenceCategory>
    </PreferenceScreen>
</PreferenceScreen>

PreferenceScreenをネストしている部分がポイントとなる。ネストされるとそこはリンクのような形になり、押すその中のレイアウトが画面に表示される。実際の実行結果は以下。

2画面目というボタンを押すと以下のようになる。