2013-08-15 6 views
7

Ich habe eine Preference-Seite, wo ich 3 Optionen "eingerückt" oder eine Art von wie Unterkategorien unter der "benutzerdefinierte Flashcards" Präferenz möchte. Im Moment sind sie alle unterein ander und scheinen für verschiedene Einstellungen zu sein. Wie mache ich es wie Unterkategorien der Präferenz "benutzerdefinierte Flashcards". Die drei Optionen werden nur aktiviert, wenn benutzerdefinierte Flashcards aktiviert sind. Vielen Dank!Wie mache ich "Unterkategorien" in den Einstellungen

<?xml version="1.0" encoding="utf-8"?> 
<PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
< PreferenceCategory 
android:title="Flashcard Selection" 
android:key="flashcard_selection"> 
<CheckBoxPreference 
    android:key="all_flashcards" 
    android:summary="Display All Flashcards" 
    android:title="All Flashcards" 
    android:defaultValue="true" 
    /> 
<CheckBoxPreference 
    android:key="custom_flashcards" 
    android:summary="Display a customized list of flashcards" 
    android:title="Custom Flashcards" 
    android:defaultValue="false"/> 
    <CheckBoxPreference 
     android:key="red_flashcards" 
     android:dependency="custom_flashcards" 
     android:summary="Display Red Flashcards" 
     android:title="Red" 
     android:defaultValue="false" 
     /> 
    <CheckBoxPreference 
     android:key="yellow_flashcards" 
     android:summary="Display Yellow Flashcards" 
     android:title="Yellow" 
     android:defaultValue="false" 
     android:dependency="custom_flashcards" 
     /> 
    <CheckBoxPreference 
     android:key="green_flashcards" 
     android:summary="Display Green Flashcards" 
     android:title="Green" 
     android:defaultValue="false" 
     android:dependency="custom_flashcards" 
     /> 
    <ListPreference 
     android:key="frontside_preference" 
     android:summary="Choose what do you want on your front side" 
     android:title="Front side" 
     android:entries= "@array/Frontside_selection_array" 
     android:entryValues ="@array/Frontside_selection_values" 
     android:defaultValue="1" 
/> 



</PreferenceCategory> 
</PreferenceScreen> 
+0

Hinzufügen Unterkategorien können mit verschachtelten 'PreferenceScreen' Einträge erreicht werden. Siehe diese Antwort. [http://stackoverflow.com/a/16041588/6524594](http://stackoverflow.com/a/16041588/6524594) – ayampolsky

Antwort

1

Eine Möglichkeit eine Unterkategorie zu erstellen, ist eine verschachtelte Einstellungsbildschirm zu verwenden, indem den benutzerdefinierten Lernkarten CheckBoxPreference Tag zu einem PreferenceScreen Tag Switching und es nach den drei benutzerdefinierten Optionen zu schließen. Wenn auf die benutzerdefinierte Flashcard-Option geklickt wird, wird ein neuer Bildschirm mit den drei Kontrollkästchen angezeigt.

<PreferenceCategory 
    android:key="flashcard_selection" 
    android:title="Flashcard Selection"> 
    <CheckBoxPreference 
     android:defaultValue="true" 
     android:key="all_flashcards" 
     android:summary="Display All Flashcards" 
     android:title="All Flashcards" /> 
    <PreferenceScreen 
     android:defaultValue="false" 
     android:key="custom_flashcards" 
     android:summary="Display a customized list of flashcards" 
     android:title="Custom Flashcards" > 

     <CheckBoxPreference 
      android:defaultValue="false" 
      android:dependency="custom_flashcards" 
      android:key="red_flashcards" 
      android:summary="Display Red Flashcards" 
      android:title="Red" /> 
     <CheckBoxPreference 
      android:defaultValue="false" 
      android:dependency="custom_flashcards" 
      android:key="yellow_flashcards" 
      android:summary="Display Yellow Flashcards" 
      android:title="Yellow" /> 
     <CheckBoxPreference 
      android:defaultValue="false" 
      android:dependency="custom_flashcards" 
      android:key="green_flashcards" 
      android:summary="Display Green Flashcards" 
      android:title="Green" /> 


    </PreferenceScreen> 

</PreferenceCategory>