0

レイアウトに ViewPager を持つアクティビティがあります。

各タブに 1 つずつ、2 つのフラグメントが表示されます。

フラグメントの 1 つは、他のフラグメントをホストするように設計されてCustomerMainFragmentfragment_customer_mainます。

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:id="@+id/lyt_customer_main"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical" >

    <FrameLayout
        android:id="@+id/fragment_customer_content"
        android:layout_width="fill_parent"
        android:layout_height="fill_parent" />

</LinearLayout>

次に、これがwhich inflatesに追加CustomerSearchFragmentされます。FrameLayoutfragment_customer_search

CustomerSearchFragmentボタンを押したときに詳細フラグメントの検索フラグメントを切り替える次のオーバーライドもあります。

@Override
public void onViewCreated(View view, Bundle savedInstanceState) {
    super.onViewCreated(view, savedInstanceState);

    Button btnSearch1 = (Button) view.findViewById(R.id.button1);
    if (btnSearch1 != null) {
        btnSearch1.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                // This is important bit
                Fragment customerDetailFragment = new CustomerDetailFragment();
                FragmentTransaction transaction = getChildFragmentManager().beginTransaction();
                transaction.addToBackStack(null);
                transaction.replace(R.id.fragment_customer_content, customerDetailFragment).commit();

            }
        });
    }
}

ボタンをクリックすると、次のエラーが表示されます。

java.lang.IllegalArgumentException: フラグメント CustomerDetailFragment{4280b0b8 #0 id=0x7f080006} の ID 0x7f080006 (com.chrisbeckyapps.sample:id/fragment_customer_content) のビューが見つかりません

私はフラグメントを初めて使用し、概念を理解していますが、これには困惑しています。最初は検索フラグメントをページャーに直接入力していましたが、それを詳細フラグメントに置き換えると、上部に表示されるだけになり、私の調査により、これがより良い解決策になりました.

検索ロジックCustomerMainFragment

提案?

4

1 に答える 1