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


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

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

2 2

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>