FrameLayout speichern?

  • Hi zusammen.


    Ich habe einen ViewFlipper der zwischen verschiedenen Views hin- und herflippt. Durch Einstellungen kann man bestimmte Views "ausschalten" (removeView(View Child)) sodass dieses fortan nicht mehr angezeigt wird und nur noch zwischen den übrigen Views wechselt.
    Da ich aber diese Einstellung auch wieder rückgängig machen kann/will (View soll fortan wieder angezeit werden) muss ich es wieder als Child vom ViewFlipper setzen (addView(View Child)), was auch funktioniert, wenn man die App nicht neu startet.
    Wenn ich nun aber ein View (nennen wir es Child2) ausschalte, die App anschließend neu Starte und dann in den Einstellungen einstelle, dass Child2 fortan wieder angezeigt werden soll, stürzt die App ab.


    Meine Vermutung war, dass Child2 nach dem Neustart erst gar nicht neu geladen wird, und ich es somit auch nicht wieder dem ViewFlipper als Child zuweisen kann.
    Deshalb dachte ich mir, dass ich diese ganzen Views beim ersten mal starten der App im SharedPreferences
    speicher, um sie somit immer wieder laden und dem ViewFlipper als Child zuweisen kann. Durch Google bin ich auf diese Seite gestoßen: eigene Objekte Speichern


    Habe diese Methoden für FrameLayouts angepasst (meine zu wechselnde Views sind FrameLayouts):



    Dies hat - wie erwartet - nicht funktioniert, vermute zum Teil, da ich nicht in die Klassendefinition vom FrameLayout gekommen bin (vll. bin ich zu dumm) und es somit nicht implements Serializable machen konnte.



    Ich Hoffe ihr hab eine Lösung, wie ich diese Views beim ersten mal ausführen der App speichern kann, oder bin ich mit meiner Vermutung total auf dem Holzweg?


    Sorry wegen dem vielen Text :D




    MfG XoR

  • Nach langem rumprobieren habe ich nun rausgefunden, dass das Problem keineswegs bei den FrameLayouts liegt, sondern anscheinend am Rückgabewert der Activity.
    Zur besseren Verständlichkeit:


    MeineMainActivity ruft durch Klick auf den "EinstellungsButton" eine Neue Activity (Settings) auf, in der man wie oben bereits erklärt bestimmte
    Views aus- und einschalten kann(mit Hilfe von Checkboxen).Die werte der Checkboxen werden dann gespeichert, ein Rückgabewert wird ausgegeben und die Activity mit finish() beendet.
    Nun fängt die MainActivity den Rückgabewert ab, und lädt die Views neu. Dies funktioniert nur solange ich Views ausschalte, doch wenn ich eines
    wieder einschalten will stürtzt die App ab. Erwähnenswert ist noch, dass ich mittels AlertDialoge getestet habe, wie weit denn die App kommt
    bevor sie abbricht. dies ist (nur beim erneuten aktivieren eines Views) Zeile 50(in Settings). Somit denke ich, dass der Fehler in der Methode
    von MainActivity liegt (Zeile. 59), welche die RückgabeWerte abfängt/bearbeidet.


    Hier noch mein Code:



    CodeSchnippsel von MainActivity:



    CodeSchnippsel von Settings:


    Ich Hoffe ihr findet meinen Fehler :)


    Wie immer schon mal ein Dankeschön im Vorraus!




    MfG XoR

Participate now!

Don’t have an account yet? Register yourself now and be a part of our community!