android - FragmentTabHost & Fragments - 如何在选项卡之间传递数据?

标签 android android-fragments android-tabhost android-fragmentactivity

我有一个具有 FragmentTabHost 的 MainActivity (FragmentActivity)。

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 都是 fragment (android.support.v4.app.Fragment)。

我需要在 fragment 上传递数据(和调用方法)。我如何获得每个 fragment 的引用,如下所示:

ClassA mClassAFragment = ???;

我尝试过使用 getSupportFragmentManager().findFragmentByTag() 并且还尝试探索 mTab​​Host 的功能。没有什么能得到它们。

您能否建议一种方法或建议一种替代方法?

最佳答案

OP在这里。为了解决这个问题,我在 FragmentActivity 中重载了 onAttachFragment 方法:

public class FragmentTabs extends FragmentActivity {
    private FragmentTabHost mTabHost;

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        ...
    }

    @Override
    public void onAttachFragment(Fragment fragment) {
    super.onAttachFragment(fragment);

    if (fragment.getClass() == ClassA.class) {
        ClassA mClassAFragment = (ClassA)fragment
            ...
        }
    }
}

关于android - FragmentTabHost & Fragments - 如何在选项卡之间传递数据?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14804560/

相关文章:

java - getPixel() 函数中的问题,错误的颜色

android - 如何从 Activity 中调用 Infinite ViewPager fragment 的方法

Android:选项卡中嵌套 Activity 的选项菜单

android - 在多 View TabActivity 中模拟后退按钮

android-layout - 我的 WebView 没有填充选项卡的屏幕(但没有 pb 填充手机的屏幕)

Android - ScrollView 内的 WebView 在底部留下空白

android - fragment 向下滑动动画

java - RecyclerView 在滚动时滞后

android - 在android中设置选项卡的内容

android - 改造响应给出错误数据