Android:如何在选项卡内从一个片段导航到另一个片段?

4
应用程序有两个选项卡,选项卡A和选项卡B都扩展自Fragment。现在我的问题是,当我点击选项卡B的列表项时,应该在选项卡中调用一个新的Fragment C。使用以下代码,我能够调用Fragment C,但不能在选项卡中调用。
Intent intent = new Intent();
intent.setClass(getActivity(), C.class);
startActivity(intent);

当我使用activities时,我可以通过使用ActivityGroup来解决问题。在Fragments中有类似的方法吗?

3个回答

4

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

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();
        }

1
谢谢您的回复,我尝试了您的答案,但没有成功。当我使用活动时,我可以通过使用ActivityGroup来解决我的问题。在片段中是否有类似的方法呢? - Rahul Patil
1
实际上,这是使用片段的非常好的方法。但不要忘记,您只能在活动(或fragmentActivity等)中添加新片段。您应该查看此http://developer.android.com/training/implementing-navigation/temporal.html - An-droid

0

尝试替换您的片段:

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来解决我的问题。在片段中是否有类似的方法? - Rahul Patil

0

使用这段代码,您可以使用意图(Intent)启动一个新的活动(Activity)。 尝试在您的片段(Fragment)中使用它:

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

谢谢您的回复,我尝试了您的答案,但没有成功。当我使用活动时,我可以通过使用ActivityGroup来解决我的问题。在片段中是否有类似的方法呢? - Rahul Patil

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接