Hallo,
erst mal kurz zur Erklärung. Ich lasse in meiner App eine Tabelle (aus einer SQL DB) erstellen. Diese kann der Nutzer filtern, z.B. nach Datum. Das funktioniert problemlos. Für die Auswahl der Filterkriterien nutze ich Spinner.
Nun zum Problem:
Wenn ich in der App Pause/Resume mache (z.B. durch eine Orientierungsänderung) wird die "Liste" der Spinner gelöscht. Das äußert sich so, das mir die Abfrage Variable=Spinner.SelectedItem eine Fehlermeldung liefert:
java.lang.IndexOutOfBoundsException: Invalid index 3, size is 0
Eigentlich dachte ich das ich das mit StateManager abgefangen habe, aber irgendwie klappt das nicht.
Ich hoffe das jemand eine gute Idee hat. Die einzige Lösung die mir derzeit einfällt ist, jedes mal alle Spinner einzeln zu sichern/zurück zu holen. Irgendwie finde ich das aber nicht grade elegant.
Grüße & Danke
erst mal kurz zur Erklärung. Ich lasse in meiner App eine Tabelle (aus einer SQL DB) erstellen. Diese kann der Nutzer filtern, z.B. nach Datum. Das funktioniert problemlos. Für die Auswahl der Filterkriterien nutze ich Spinner.
Nun zum Problem:
Wenn ich in der App Pause/Resume mache (z.B. durch eine Orientierungsänderung) wird die "Liste" der Spinner gelöscht. Das äußert sich so, das mir die Abfrage Variable=Spinner.SelectedItem eine Fehlermeldung liefert:
java.lang.IndexOutOfBoundsException: Invalid index 3, size is 0
Eigentlich dachte ich das ich das mit StateManager abgefangen habe, aber irgendwie klappt das nicht.
B4X:
Sub Activity_Resume
StateManager.loadStateFile
StateManager.RestoreState(Activity,"Main",60)
end sub
Sub Activity_Pause (UserClosed As Boolean)
If UserClosed Then
StateManager.ResetState("Main")
SQL1.Close
SQL2.close
Else
StateManager.SaveState(Activity, "Main")
End If
StateManager.SaveSettings
End Sub
Ich hoffe das jemand eine gute Idee hat. Die einzige Lösung die mir derzeit einfällt ist, jedes mal alle Spinner einzeln zu sichern/zurück zu holen. Irgendwie finde ich das aber nicht grade elegant.
Grüße & Danke