Tôi có một MainActivity (FragmentActivity) có một FragmentTabHost.FragmentTabHost & Fragments - Làm cách nào để chuyển dữ liệu giữa các tab?
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 và ClassC đều Những mảnh vỡ (android.support.v4.app.Fragment).
Tôi cần chuyển dữ liệu (và phương thức gọi) trên Phân đoạn. Làm thế nào tôi có thể nhận được một tài liệu tham khảo của từng mảnh vỡ, như thế này:.
ClassA mClassAFragment = ???;
Tôi đã cố gắng sử dụng getSupportFragmentManager() findFragmentByTag() và tôi cũng đã cố gắng khám phá những khả năng của mTabHost. Không có gì có thể nhận được chúng.
Bạn có thể đề xuất cách để thực hiện việc này hoặc đề xuất phương pháp thay thế không?
Lời khuyên tuyệt vời. Tôi nghĩ rằng đó là một cách tiếp cận khá tốt để làm điều đó như thế này. – Siggy
Tôi nghĩ bạn nên thực hiện so sánh '.equals()' cho các lớp phân đoạn thay vì một phép so sánh trực tiếp '=='. – alexgophermix
Hoặc intanceof sẽ còn tốt hơn: 'instance fragmentof ClassA' – kgautron