2016-09-23 4 views
0

Ich möchte fragen, ob es möglich ist, für jeden Wert/Einträge in meiner Liste festzulegen, dass ich sie nur einmal auswählen kann, ich meine: Ich habe mehr ListPreference, die gleiche Werte/Einträge verwenden, wenn ich wähle die ersten Werte/Einträge in der ersten listPreference, ich möchte die ersten Werte/Einträge für andere ListPreference deaktivieren. Vielen Dank.ListPreference In SharedPreference

Antwort

0

Das erste Problem ist, dass Sie einige Elemente in ListPreferences deaktivieren möchten, dies wird nicht out of box unterstützt. Ich würde empfehlen, this approach zu verwenden, um eine benutzerdefinierte Unterstützung für deaktivierte Elemente zu machen.

Das zweite Problem ist, dass Sie für die Informationen über ausgewählte Elemente zwischen mehreren ListPreferences, teilen wollen, müssen Sie es CustomListPreferenceAdapter Code modifizieren, um die gleiche Menge von Daten zu verwenden, in allen ListPreferences ausgewählten Elemente einschließlich Informationen über. Sie müssen also wahrscheinlich einen List verwenden, in dem Artikel auch Informationen über seine Auswahl enthält (obwohl Adapter Muster entworfen wurde, um von der Auswahl auf der ListView-Seite zu abstrahieren, aber in Ihrem Fall möchten Sie, dass die Auswahlinformationen Teil von Daten sind, huh) . Und wenn irgendeine ListPreference (oder eine ListView auch im allgemeinen Fall) eine Auswahl trifft, müssen Sie Adapter anderer ListPreferences benachrichtigen, um Auswahldaten erneut zu lesen und relevante Elemente zu deaktivieren.

Ich bin ein bisschen faul, den ganzen Code für Sie zu schreiben)) Verwenden Sie es als Hinweis.

+0

Ich möchte nicht Auswahlinformationen Teil meiner Daten sein, nur Werte, Ill versuchen zu tun, was Sie sagten. Vielen Dank. –

Verwandte Themen