我有一個具有FragmentTabHost的MainActivity(FragmentActivity)。FragmentTabHost&Fragments - 如何在標籤之間傳遞數據?
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);
}
}
ClassA的,ClassB的和ClassC都是片段(android.support.v4.app.Fragment)。
我需要傳遞碎片上的數據(和調用方法)。我怎樣才能得到每個片的參考,像這樣:
ClassA mClassAFragment = ???;
我使用getSupportFragmentManager試過()findFragmentByTag(),我也試着探索mTabHost的能力。沒有東西可以得到它們
你能提出一種方法來做到這一點或建議一種替代方法嗎?
令人敬畏的建議。我認爲這是一個很好的方法。 – Siggy 2014-02-21 06:58:46
我認爲你應該爲片段類而不是直接的'=='比較器做'.equals()'比較。 – alexgophermix 2014-07-22 20:25:03
或intanceof會更好:'片段instanceof ClassA' – kgautron 2014-08-16 12:18:27