Android - Wechsel zwischen Querformat und Hochformat lässt Intent Werte verlieren
Ich bin mit Absichten zum wechseln zwischen Aktivitäten in meiner Android app. Ich Stelle Daten in der Absicht, für den Einsatz in der nächsten Aktivität. Wenn ich schalten Sie das Telefon zwischen hoch-und Querformat-Modi, die übergebenen Werte von dem Vorsatz sind verloren, und ich bekomme eine NullPointerException.
Kann mir bitte jemand sagen, was falsch sein könnte.
Gibt es eine Menge code zu posten es ganz. Wenn aber jemand muss sich auf bestimmte Teile des Codes, kann ich es hier posten.
Bearbeiten
Ich habe das Problem gelöst, der Zustand nicht gespeichert werden. Aber ein anderes problem, das ich konfrontiert ist, dass keine der Tasten auf dem Bildschirm funktionieren, nachdem die Ausrichtung geändert wurde. Auf den button drücken, bekomme ich diese Warnung in LogCat
02-25 23:07:49.190: WARN/WindowManager(58): No window to dispatch pointer action 0
Bitte helfen.
InformationsquelleAutor der Frage lostInTransit | 2009-02-25
Du musst angemeldet sein, um einen Kommentar abzugeben.
Beim wechseln der Orientierung der Tätigkeit ist die neu-und onCreate aufgerufen wird, so müssen Sie das bundle zu speichern Ihren aktuellen Zustand und die Wiederherstellung nach einer Orientierung ändern. Sie können dies in Aktion zu sehen, wenn Sie nur eine app mit einer TextView und geben Sie text und ändern Sie die Ausrichtung. Wenn Sie bundle Ihrem Staat für onCreate Sie Bremsen können. Dies ist wahrscheinlich auch der Grund, warum Sie haben eine NullPointer nach der Ausrichtung ändert. Es ist ärgerlich wie die Hölle, aber etwas, das wir zu Leben haben.
Diese link auf eine Reihe von Orientierungs-Tutorien und dieser erste insbesondere soll Ihnen helfen zu verstehen, was genau Los ist und wie erfolgreich halten Sie Ihren aktuellen Zustand.
Update: Es gibt auch ein post auf SO Tätigkeit neu auf rotation Androiddie sich mit fast der gleichen Sache.
Bearbeiten für follow-up-Frage:
Hast du Sie wieder an Ihrem click-Handler nach der Ausrichtung ändern?
InformationsquelleAutor der Antwort Quintin Robinson
Schreiben diese in Ihrer manifest-Datei..in die Aktivität, die Sie wollen, dass diese--
Bearbeitet: Verwenden Sie diese für neue APIs Versionen--
Jeden Fall, dass es funktionieren wird..
InformationsquelleAutor der Antwort Hulk
Versuchen Sie dies:
InformationsquelleAutor der Antwort
Es möglich, deklarieren Sie ein Attribut android:configChanges mit dem Wert "Orientierung", dies verhindert, dass die Aktivität neu gestartet. Stattdessen wird die Aktivität weiter ausgeführt und seine onConfigurationChanged () - Methode aufgerufen wird.
InformationsquelleAutor der Antwort Nadav Daniel
Erklären
< android:configChanges="orientation|keyboardHidden"/>
in Ihrem manifest. Dies ermöglicht Ihnen die Verwaltung der Veränderung der Orientierung/Tastatur Sichtbarkeit selbst. Natürlich, Sie brauchen nicht zu überschreiben, wird die callback-Methode für das it-Management.InformationsquelleAutor der Antwort Nguyen Minh Binh
Hallo ich habe auch diesem problem begegnet.
was fixiert es für mich war:
und dann in onCreate():
dann können Sie sicher sein, dass die Objekte nicht null sind.
InformationsquelleAutor der Antwort Noyloy