Foto portrait beim landscape Wechsel Fehler

  • Hallo,

    um Fotos zu machen habe ich 2 Layouts (portrait und landscape, siehe Dateien). Bei Take picture wird die Camera geöffnet und das Foto wird dann in dem Layout angezeigt (siehe Datei), mit save picture dann abgelegt.

    Problem:

    Wenn ich nach dem Öffnen der Kamera von vertikal zu horizontal wechsle und fotografiere öffnet sich danach richtig das landscape-Layout, aber das Foto wird nicht angezeigt sondern die APP stürzt ab, leider ohne jede Fehlerkennung, außer image_uri istr nach dem Umkippen null ?


  • und hier noch die Layouts:


    portrait:

    landscape:

  • Dann überlege doch mal was beim Drehen des Handys passiert. Die Activity oder auch das Fragment wird neu gestartet .

    Die onCreatd wird wieder aufgerufen und auch das Layout wird neu geladen.

    Auch wenn deine Views die gleiche ID haben sind es nach den drehen wider andere Instanzen.

    Auch Instanzvariablen werden zerstört. Somit auch deine „taskPicture“


    Nicht umsonst wird der onCreate das savedInstanceState mit gegeben.

    Schaue dir an wie du das für dich nutzen kannst.


    How to Implement OnSavedInstanceState in Android? - GeeksforGeeks
    A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and…
    www.geeksforgeeks.org




    Code

    How to Implement OnSavedInstanceState in Android? - GeeksforGeeks
    A Computer Science portal for geeks. It contains well written, well thought and well explained computer science and programming articles, quizzes and…
    www.geeksforgeeks.org

  • Das ging schneller als ich gedacht habe. Das bereits getätigte Foto wird mit onSaveInstanceState abgelegt und mit onRestoreInstanceState wieder geholt.


    Folgende voids eingefügt und alles läuft !! Man sollte sich mal gründlich mit dem life cycle beschäftigen.


  • noch ein Nachtrag. Um ständiges hin und her kippen abzufangen musste ich onRestoreInstanceState noch erweitern, betrifft die Ablage des Fotos in der ImageView.


Jetzt mitmachen!

Sie haben noch kein Benutzerkonto auf unserer Seite? Registrieren Sie sich kostenlos und nehmen Sie an unserer Community teil!