2016-04-20 7 views
0

ich auf einem Firmen-Apps für den internen Gebrauch arbeite,speichern Textfelder Inhalt von Android Tabbed Ansicht

einer der Abschnitte, die dem Benutzer präsentiert wird, ist ein TabbedView (in der Tat ich es aus dem Android Studio gemacht " sauberes Blatt ", so seine Fragment-basierte und AppCompatActivity erweitert), jede der vier Register, aus denen es zusammengesetzt ist, enthält ein paar Textfelder.

Der Benutzer kann frei zwischen den Registerkarten hin und her navigieren und die Textfelder ausfüllen, dann "go" am unteren Rand der letzten Registerkarte drücken und die Daten aus allen Textfeldern übermitteln. Ich finde es unglaublich schwierig, das zu tun, was ich tun möchte, ist einfach ein Listener zu verwenden, der mir sagt, wenn der Benutzer von einem Tab zum nächsten wechselt und die Daten in den gemeinsamen Einstellungen speichert. (es ist auch in der Lage, es wiederherzustellen, wenn der Benutzer frei zwischen Tabs in der Bearbeitungsphase nur die gleiche Sache mit dem Hörer für eine Registerkarte Auswahl) ist

Ich war ziemlich überrascht zu sehen, dass die einfache alte Tab-System mit der Super praktische Listener für "auf der Registerkarte ausgewählt" und "auf der Registerkarte deaktiviert" -Ereignis ist jetzt eine Sache der Vergangenheit, so nach zwei Tagen verbrachte versuchen, herauszufinden, wie man so eine einfache Sache wie das Speichern ein paar Textfelder direkt vor der Registerkarte wird getötet Ich gebe jetzt auf und bitte um Hilfe. Wie kann ich automatisch Daten aus den Textfeldern in einem Tab speichern, bevor ich einen der anderen lade?

danke! :-)

+0

lesen Sie über Fragment Lebenszyklus hier: http://developer.android.com/guide/components/fragments.html. Speichern Sie Ihre Daten in onPause. –

+0

Vielen Dank, Ihr Kommentar wies mich in die richtige Richtung. Ich habe jetzt die Tabbed-Ansicht so, wie ich es wollte. Fühlen Sie sich frei, Ihren Kommentar als Antwort zu posten, damit ich ihn markieren kann. – Caterpillaraoz

+0

Gern geschehen. Ich habe es vorher noch nicht beantwortet, weil es hauptsächlich ein Link war, aber ich mache das jetzt. –

Antwort