Frage

Ich mag ein Element in meinem Präferenz-Menü haben, geschieht Folgendes:

  • Zeigen Sie eine Liste von Optionen.
  • Viele sind wählbar
  • Die maximale Menge an Optionen gewählt 2 wird.

Möglichkeiten Ich dachte an:

  1. Doing a getrennt PreferenceScreen und Optionen wie checkBoxes zeigen, aber ich weiß nicht, wo die Logik von maximal 2 Optionen zu setzen.
  2. Erweiterung DialogPreference und von Hand zu tun.

Was ist der beste Weg?

War es hilfreich?

Lösung

Die Ausweitung DialogPreference würden Sie die am nächsten in Bezug auf Look-and-Feel erhalten; die Preference Klassen sind relativ unflexibel und un verlängerbare in meiner Erfahrung.

Ich kann nicht zu viel über PreferenceScreen erinnern, aber ich glaube, es ist ähnlich.

In einer App an denen ich gearbeitet, landeten wir getrennte Aktivitäten mit bis über Intent von einem Preference Artikel ins Leben gerufen onClick. Dies ermöglichte es uns leicht zu Vorzug Bildschirme zu entwickeln, die ein wenig komplexer als die üblichen Validierungslogik erforderlich.

Andere Tipps

Sie können die Logik von maximal zwei Optionen setzen in einem PreferenceActivity dass OnSharedPreferenceChangeListener implementiert Sie den Hörer ermöglichen, kann nur zu sein, zuzuhören, wenn so etwas wie dies erforderlich machen:

@Override
protected void onResume() {
super.onResume();
    //Register the listener
    getPreferenceScreen().getSharedPreferences().registerOnSharedPreferenceChangeListener(this);
}

@Override
protected void onPause() {
    super.onPause();
    // Unregister the listener
    getPreferenceScreen().getSharedPreferences().unregisterOnSharedPreferenceChangeListener(this);
}
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top