1

ich FragmentTabHost in meinem Elternfragment bin mit 3 weiteren verschachtelten Fragmente zu erstellen:Wie erstellt man eine Ansicht im verschachtelten Fragment vom Elternfragment?

fragmentTabHost.addTab(fragmentTabHost.newTabSpec("fragA").setIndicator(getString(R.string.fragA)), FragmentA.class, null); 
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("fragB").setIndicator(getString(R.string.fragB)), FragmentB.class, null); 
fragmentTabHost.addTab(fragmentTabHost.newTabSpec("fragC").setIndicator(getString(R.string.fragC)), FragmentC.class, null); 

Dann habe ich AsyncTask in meinem Elternfragment leite Variablen von Server zu erhalten und in OnPostExecute mag ich für all 3 Erstellen von Ansichten starten verschachtelte Fragmente. Problem ist, dass ich immer eine Null-Zeiger-Ausnahme bekomme, weil nur das erste Fragment erzeugt wird, so dass ich auf Ansichten in fragB und fragC nicht zugreifen kann.

Meine Frage ist: ist es möglich, Ansichten für alle 3 Fragmente in AsyncTask meines Elternfragments zu erstellen?

Antwort

0

Sie sollten nicht auf diese Ansichten zugreifen. Speichern Sie Daten in Ihrem übergeordneten Fragment und verwenden Sie die Schnittstelle, um diese Daten beim Erstellen des Fragments abzurufen.

0

Fragmente werden erstellt, sobald Sie sich auf der zugehörigen Registerkarte befinden. Es wird zerstört und neu erstellt, wenn Sie erneut auf die Registerkarte zurückkehren. Sie sollten eine einfache öffentliche Methode im untergeordneten Fragment verwenden, um die Benutzeroberfläche vom übergeordneten Fragment zu aktualisieren. Oder Sie können das "Observer" -Muster verwenden, um die Benutzeroberfläche zu aktualisieren.

http://developer.android.com/tools/data-binding/guide.html#observable_objects

+0

Ich weiß, wie es funktioniert, aber ich frage, ob es möglich ist, diese Fragmente in meinem Elternfragment vor Benutzer klickt auf diesen Registerkarten zu verknüpfen. Ich verwende auch mein eigenes bearbeitetes FragmentTabHost, das nur Fragmente anzeigt und versteckt und sie nicht neu erstellt. – Adam

Verwandte Themen