Как создать меню настроек с флажком Android

Я хочу создать экран предпочтений, в котором есть три флажка; первый кликабелен, а два других - нет, пока первый не проверен.

Как я могу это сделать? Я видел этот учебник, но есть только один флажок. Может кто-нибудь мне помочь?

2 ответа

Решение
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android" >
     <PreferenceCategory
           android:summary="@string/summary_category"
           android:title="@string/title_category">
           <CheckBoxPreference
                 android:key="main"
                 android:defaultValue="true"
                 android:summary="@string/summary_main"
                 android:title="@string/title_main" 
          />
          <CheckBoxPreference
                android:key="firstDependent"
                android:summary="@string/summary_firstDependent"
                android:title="@string/title_firstDependent"
                android:dependancy="main"
          />
          <CheckBoxPreference
                android:key="secondDependent"
                android:summary="@string/summary_secondDependent"
                android:title="@string/title_secondDependent"
                android:dependancy="main"
          />
    </PreferenceCategory>
<!--Any other categories include here-->
</PreferenceScreen>

Вы можете сделать это просто установив android:dependancy ключу флажка, от которого должны зависеть соответствующие флажки.

Теперь создайте папку с именем xml в папке res и поместите в нее файл настроек xml. Затем сделайте следующее.

public class SettingsActivity extends PreferenceActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        addPreferencesFromResource(R.xml.preferences);


    }


}    

Вы также можете сделать это с фрагментами, что более рекомендуется. Но описанный выше метод намного проще. Если вы хотите сделать это с фрагментами, отметьте это, в котором содержится все, что вам нужно знать о создании действия настройки.

Надеюсь это поможет.

Вы должны сделать это, как в этом примере, но у вас будет три checkboxes вместо одного. Если вы хотите два checkboxes чтобы быть отключенным до тех пор, пока первое не станет правдой, вы можете использовать android:dependency имущество. С этим свойством вам нужно указать ключ предпочтения, от которого они будут зависеть.

<PreferenceCategory
    android:summary="..."
    android:title="..." >

    <CheckBoxPreference
        android:defaultValue="true"
        android:key="first"
        android:summary="@string/summary_first"
        android:title="@string/title_first" />

    <CheckBoxPreference
        android:defaultValue="false"
        android:dependency="first"
        android:key="second"
        android:summary="@string/summary_second"
        android:title="@string/title_second" />

    <CheckBoxPreference
        android:defaultValue="false"
        android:dependency="first"
        android:key="third"
        android:summary="@string/summary_third"
        android:title="@string/title_third" />
</PreferenceCategory>