Hallo, ich habe ein kleines Problem mit meiner App.
Ich möchte die Farben, die der User auswählt, speichern und beim Neustart der
App wieder laden.
Das Ändern der Farbe des jeweiligen Listviews und Anzeigen funktioniert prima.
Wenn ich jetzt die Farben speichere und die App erneut starte, bekomme ich
nur die letzte Farbe, die durch den Colorpicker geändert wurde, gezeigt. Die
anderen Listviews haben dann wieder die Farbe, die ich im Designer eingestellt
hatte. Irgendwie speichere oder lade ich das falsch.
Im Prinzip funktioniert es ja zumindest mit einer Farbe.
Hier mal die beiden Subs :
Kann vielleicht mal jemand drüber schauen und mir sagen, welchen Gedankenfehler ich hier habe ?
Ich möchte die Farben, die der User auswählt, speichern und beim Neustart der
App wieder laden.
Das Ändern der Farbe des jeweiligen Listviews und Anzeigen funktioniert prima.
Wenn ich jetzt die Farben speichere und die App erneut starte, bekomme ich
nur die letzte Farbe, die durch den Colorpicker geändert wurde, gezeigt. Die
anderen Listviews haben dann wieder die Farbe, die ich im Designer eingestellt
hatte. Irgendwie speichere oder lade ich das falsch.
Im Prinzip funktioniert es ja zumindest mit einer Farbe.
Hier mal die beiden Subs :
B4X:
' Menüpunkt Farben in Activity
Private Sub Farben_Click
Dim cd As ColorDialog
Dim listcolors As List
Dim farbe(4) As Int
' a colordialog as the Designer have, would be better ?
Dim sf As Object = cd.ShowAsync("Farbe wählen", "Ja", "Abbruch", "Nein", Null, False)
Wait For (sf) Dialog_Result(Result As Int)
If Result = DialogResponse.POSITIVE Then
If TabHost1.CurrentTab = 0 Then
ListView1.Color = cd.RGB
farbe(0) = cd.RGB
End If
If TabHost1.CurrentTab = 1 Then
ListView2.Color = cd.RGB
farbe(1) = cd.RGB
End If
If TabHost1.CurrentTab = 2 Then
ListView3.Color = cd.RGB
farbe(2) = cd.RGB
End If
If TabHost1.CurrentTab = 3 Then
ListView4.Color = cd.RGB
farbe(3) = cd.RGB
End If
End If
listcolors.Initialize
For i = 0 To 3
listcolors.Add(farbe(i))
Next
File.WriteList(File.DirInternal, "Farben.csv", listcolors)
End Sub
Private Sub LeseFarben ' SUB wird bei Activity_Create nach dem Laden der Layouts aufgerufen
Dim colorlist As List
colorlist.Initialize
colorlist = File.ReadList(File.DirInternal, "Farben.csv")
ListView1.Color = colorlist.Get(0)
ListView2.Color = colorlist.Get(1)
ListView3.Color = colorlist.Get(2)
ListView4.Color = colorlist.Get(3)
End Sub
Kann vielleicht mal jemand drüber schauen und mir sagen, welchen Gedankenfehler ich hier habe ?