Nested PreferenceScreens unter einer dynamischen Liste von Einstellungen auf Android

9

Ich versuche, einen Einstellungsbildschirm mit einer dynamischen Liste von Einträgen zu erstellen, und wenn ich auf jeden von ihnen klicke, habe ich einen weiteren Bildschirm mit Einstellungen. Als Beispiel, denken Sie an eine Liste von E-Mail-Konten und jeder mit ihren Kontoeinstellungen verfügbar.

Obwohl ich die gewünschte Verschachtelung nur mit PreferenceScreens erstellen kann, kann dies nicht einfach auf mehrere Einträge skaliert werden, ohne die Struktur der Unterpräferenzen im Code für jede einzelne zu erstellen.

Ich sehe auf der Android-Benutzeroberfläche verschiedene Varianten.

Gibt es einen empfohlenen Weg, um eine solche Struktur zu erstellen?

Zu den Möglichkeiten gehören:

  1. Getrennte, unabhängige Aktivitäten
    Funktioniert aber meiner Meinung nach unordentlich.

  2. Verschachtelte, mit Code erstellte PreferenceScreens
    Pain in the Ass für die Pflege und es bedeutet, dass die Präferenzen nicht mehr als XML-Fragmente gespeichert werden

  3. Verschachtelte, aufgeblähte Präferenzbildschirme
    Ich finde keine Möglichkeit, eine andere XML-Datei in eine Unterstruktur zu erweitern

  4. Ein "sub" PreferenceScreen, der mit setPreferenceScreen () für jeden einzelnen
    angezeigt wird Ich kann keine Möglichkeit finden, den "Preferencescreen" "Vorlage" zu verbergen und die Navigation zu unterbrechen.

Beispiel-XML:

%Vor%

Ich möchte, dass die Einträge unter list dynamisch sind und die console Präferenzen unter jedem zeigen.

Alle anderen Ideen sind willkommen.

Danke

    
Deanna 25.01.2011, 00:14
quelle

1 Antwort

0

Haben Sie versucht, dynamisch XML-Dateien in die für die Präferenzen verwendete Datei aufzunehmen?

Diese Technik wird in diesen 2 Artikeln ausführlich beschrieben:

Ссылка

Ссылка

Sie erklären, wie Sie das tun, was Sie in Ihrem Punkt 3 gefragt haben:

  

Verschachtelte, aufgeblasene PreferenceScreens

Grundsätzlich besteht die Idee darin, dieses einfache Tag zu verwenden, um eine andere XML-Datei in eine bestehende zu integrieren:

%Vor%

Ich weiß nicht, ob Sie das schon probiert haben, aber wenn nicht, scheint es einen Versuch wert!

    
Yoann Hercouet 14.05.2013 12:30
quelle

Tags und Links