【问题标题】:Android : How to Navigate from one fragment to another , within a Tab? [closed]Android:如何在选项卡内从一个片段导航到另一个片段? [关闭]
【发布时间】:2012-06-01 00:52:09
【问题描述】:

应用程序有两个选项卡,选项卡 A 和选项卡 B 都扩展了 Fragment。现在我的问题是,当我单击选项卡 B 的列表项时,应该在选项卡中调用一个新的片段 C。使用以下代码,我可以调用 Fragment C ,但不能在选项卡中调用。

Intent intent = new Intent();
intent.setClass(getActivity(), C.class);
startActivity(intent);

当我使用活动时,我可以通过使用 ActivityGroup 来解决我的问题。 Fragments有没有类似的方式。

【问题讨论】:

    标签: android tabs fragment


    【解决方案1】:

    尝试在点击列表项上使用此代码

    private void stackAFragment() {
                Fragment f;
                f = new MedicationOrderFragment();
                FragmentTransaction ft = getFragmentManager().beginTransaction();
                ft.replace(R.id.main_details_fragment_container, f);
                ft.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
                ft.addToBackStack(null);
                ft.commit();
            }
    

    【讨论】:

    • 感谢您的回复,我尝试了您的回答,但没有成功。当我使用活动时,我可以通过使用 ActivityGroup 来解决我的问题。 Fragments有没有类似的方式。
    • 其实这是一个非常好的fragment方式。但不要忘记,您只能在活动(或 fragmentActivity ...等)中添加新片段。你应该看看这个developer.android.com/training/implementing-navigation/…
    【解决方案2】:

    尝试替换您的片段:

    protected void replaceDataFragment(Fragment fragment){
        android.app.FragmentTransaction ftr = getFragmentManager().beginTransaction();
        ftr.replace(R.id.data<id of your fragment layout>, fragment);
            ftr.setTransition(FragmentTransaction.TRANSIT_FRAGMENT_OPEN);
            ftr.commit();   
        }
    

    【讨论】:

    • 感谢您的回复,我尝试了您的回答,但没有成功。当我使用活动时,我可以通过使用 ActivityGroup 来解决我的问题。 Fragments有没有类似的方式。
    【解决方案3】:

    使用此代码,您可以使用意图启动一个新活动。 尝试在您的片段中使用它:

    getSupportFragmentManager().beginTransaction().replace(
    R.id.my_container_in_xml, new MyFragment(), 0).commit();
    

    【讨论】:

    • 感谢您的回复,我尝试了您的回答,但没有成功。当我使用活动时,我可以通过使用 ActivityGroup 来解决我的问题。 Fragments有没有类似的方式。
    猜你喜欢
    • 2013-12-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2022-01-10
    • 2021-05-02
    • 2013-05-12
    • 2012-06-02
    • 1970-01-01
    相关资源
    最近更新 更多