Android 如何在片段中调用片段?

Android 如何在片段中调用片段?,android,android-fragments,Android,Android Fragments,所以我在片段中工作,其中有两个片段。请看下图: 显示库存列表的第一个片段名为fragment\u purchase\u item\u list,右侧为fragment\u purchase\u list 我想做的是,当我从右边片段的工具栏上单击扫描时,片段\u qrscan将替换片段\u购买\u项目\u列表。如下图所示: 有人能看看我的代码为什么不工作吗?谢谢 PurchaseListFragment.java <-- start of code snippet --> @O

所以我在片段中工作,其中有两个片段。请看下图:

显示库存列表的第一个片段名为fragment\u purchase\u item\u list,右侧为fragment\u purchase\u list

我想做的是,当我从右边片段的工具栏上单击扫描时,片段\u qrscan将替换片段\u购买\u项目\u列表。如下图所示:

有人能看看我的代码为什么不工作吗?谢谢

PurchaseListFragment.java

<-- start of code snippet -->
    @Override
    public void onClick(View v) {
        int id = v.getId();

        switch (id){
            case R.id.btn_paypurchasetransaction:
                Fragment chargeFragment = new ChargeFragment();

                FragmentManager fragmentManager = getFragmentManager();
                FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
                fragmentTransaction.replace(R.id.customersales_content, chargeFragment);
                fragmentTransaction.addToBackStack(null);
                fragmentTransaction.commit();
                break;
            case R.id.layout_transaction_qrcode:
//                Toast.makeText(getActivity(), "Scan Item", Toast.LENGTH_SHORT).show();
                Fragment scanQRCodeFragment = new QRScanFragment();
                FragmentManager fragmentManager1 = getFragmentManager();
                FragmentTransaction fragmentTransaction1 = fragmentManager1.beginTransaction();
                fragmentTransaction1.replace(R.id.inventory_fragment, scanQRCodeFragment);
                fragmentTransaction1.addToBackStack(null);
                fragmentTransaction1.commit();

                break;
            case R.id.layout_transaction_new:
                Toast.makeText(getActivity(), "New Transaction", Toast.LENGTH_SHORT).show();
                break;

        }
    }

<-- end of code snippet>
fragment_sales.xml

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    xmlns:tools="http://schemas.android.com/tools"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    tools:context=".Fragments.SalesFragment"
    android:orientation="horizontal"
    android:id="@+id/customersales_content">

    <fragment
        android:id="@+id/inventory_fragment"
        android:name="com.example.devcash.Fragments.PurchaseItemListFragment"
        tools:layout="@layout/fragment_purchase_item_list"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="3">

    </fragment>

    <View
        style="@style/Divider"
        android:layout_width="1dp"
        android:layout_height="wrap_content" />

    <fragment
        android:id="@+id/purchaselist_fragment"
        android:name="com.example.devcash.Fragments.PurchaseListFragment"
        android:layout_width="0dp"
        android:layout_height="match_parent"
        android:layout_weight="2"
        tools:layout="@layout/fragment_purchase_list">


    </fragment>


</LinearLayout>

尝试用getChildFragmentManager替换getFragmentManager

谢谢您的回复。添加getChildFragmentManagerI think后,应用程序将停止,因为我已经在my fragment_sales.xml中指明了我的碎片容器的名称和布局。请用框架布局替换xmls中的碎片,然后尝试碎片替换代码是,但如果我这样做,第一个布局将不会自动显示。它将显示。在父片段的onCreateView中添加该片段