Ich habe eine MainActivity (FragmentActivity), die eine FragmentTabHost hat.FragmentTabHost & Fragments - Wie gebe ich Daten zwischen Tabs weiter?
public class FragmentTabs extends FragmentActivity {
private FragmentTabHost mTabHost;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.fragment_tabs);
mTabHost = (FragmentTabHost)findViewById(android.R.id.tabhost);
mTabHost.setup(this, getSupportFragmentManager(), R.id.realtabcontent);
mTabHost.addTab(mTabHost.newTabSpec("classA").setIndicator("Class A"),
ClassA.class, null);
mTabHost.addTab(mTabHost.newTabSpec("classB").setIndicator("Class B"),
ClassB.class, null);
mTabHost.addTab(mTabHost.newTabSpec("classC").setIndicator("Class C"),
ClassC.class, null);
}
}
KlasseA, ClassB und ClassC sind alle Fragmente (android.support.v4.app.Fragment).
Ich muss Daten (und Aufrufmethoden) auf den Fragmenten übergeben. Wie kann ich einen Verweis von jedem der Fragmente erhalten, wie folgt aus:.
ClassA mClassAFragment = ???;
Ich habe versucht, mit getSupportFragmentManager() findFragmentByTag() und ich habe auch versucht, die Fähigkeiten von mTabHost zu erkunden. Nichts kann sie bekommen.
Können Sie einen Vorschlag machen oder einen alternativen Ansatz vorschlagen?
Super Beratung. Ich denke, es ist ein ziemlich guter Ansatz, es so zu machen. – Siggy
Ich denke, Sie sollten einen '.equals()' Vergleich für die Fragmentklassen anstelle eines direkten '== 'Vergleichers machen. – alexgophermix
Oder intentionof wäre noch besser: 'fragment instanceof ClassA' – kgautron