4

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

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

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

4

3 回答 3

4

尝试使用此代码 onClick 列表项

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();
        }
于 2012-05-25T12:37:35.800 回答
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();   
    }
于 2012-05-25T12:37:29.467 回答
0

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

getSupportFragmentManager().beginTransaction().replace(
R.id.my_container_in_xml, new MyFragment(), 0).commit();
于 2012-05-25T12:38:20.120 回答