通过单击按钮打开片段中的片段

时间:2016-05-26 08:33:40

标签: android android-fragments

我有2个片段Mainfragment有btn_a。我想单击该按钮并转到Twofragment。

我实现了这个但不起作用。请帮帮我。

以下代码位于Main片段的onCreateView方法中,

ImageButton btn_a = (ImageButton)rootView.findViewById(R.id.aButton);
        btn_a.setOnClickListener(new OnClickListener() {

            @Override
            public void onClick(View v) {
                TwoFragment two = new TwoFragment();
                getActivity().getFragmentManager().beginTransaction().replace(R.id.aFragment, two, "fragment");

            }
        });

编辑: 我添加了.commit();。现在显示另一个错误如下 no view found for id 0x7f09009b for fragment帮我解决这个问题。

编辑2 我的xml文件代码如下所示

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >
    <RelativeLayout
        android:id="@+id/afragment"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
        <ListView
            android:id="@+id/aListView"
            android:layout_width="match_parent"
            android:layout_height="match_parent" >
        </ListView>
    </RelativeLayout>
</RelativeLayout>

2 个答案:

答案 0 :(得分:3)

试试这个

getChildFragmentManager().beginTransaction().replace(R.id.aFragment, two, "fragment").commit();

答案 1 :(得分:1)

试试这个

SecondFragment secFrag = new SecondFragment();
FragmentTransaction fragTransaction = getChildFragmentManager().beginTransaction();
fragTransaction.replace(R.id.frame_fragment,secFrag );
fragTransaction.addToBackStack(null);
fragTransaction.commit();