InstanceState ignorieren

  • 2 Antworten
  • Letztes Antwortdatum
GENiALi

GENiALi

Fortgeschrittenes Mitglied
11
Ich habe mir eine View erstellt die von LinearLayout erbt. Dort drin habe ich ein EditText und ein RadioGroup. Designet habe ich das Zeugs im XML das ich mit dem inflater nachladen.

Das ganze wird dann in einem Fragement genutzt was wiederum ein Teil einer ViewPager ist.

Wenn ich das erste mal in das besagte Fragment kommt läuft alles wunderbar. Dann swippe ich weiter, zwei mal, komme zurück und das Fragment kommt wieder in den onCrate Teil rein. Das ganze Teil wird korrekt erstellt, bis der dämliche, sorry, InstanceState wieder hergesellt wird. Der löst dann das onTextChanged Event aus was natürlich den string "" enthält. Somit geht meine ganze selektion verloren.

Wie kann ich verhindern das der InstanceState ausgeführt wird auf dem EditText? Der macht mir alles kaputt. :sad:
 
Da Views ja automatisch wieder hergestellt werden, wirst du das nicht verhindern können.
Du kannst aber mit onSaveInstanceState() deine Selektion speichern und dann in onCreate() wiederherstellen.

Gesendet von meinem Galaxy Nexus mit der Android-Hilfe.de App
 
  • Danke
Reaktionen: GENiALi
Vacutainer schrieb:
Du kannst aber mit onSaveInstanceState() deine Selektion speichern und dann in onCreate() wiederherstellen.

Da ich mit Objekten arbeite sind die nicht dort drin. Genau das ist mein Problem. Habe aber die Lösung so zufälligerweise gefunden. Ich setzte MEINE Werte erst NACH super.onViewStateRestored(savedInstanceState);. Dann bin ich derjenige der bestimmt was in den Views erscheint und habe somit gewonnen. :D
 
Zurück
Oben Unten