2 sld22525482 sld22525482 于 2016.09.17 14:42 提问

Fragment切换出现重叠的问题怎么解决?

android:id="@+id/network_set_content"
android:layout_width="match_parent"
android:layout_height="match_parent"
>

                        <FrameLayout
                            android:id="@+id/network_set_left_list_content"
                            android:layout_width="320dp"
                            android:layout_height="match_parent"
                            android:layout_marginRight="20dp"
                            ></FrameLayout>

                        <FrameLayout
                            android:id="@+id/network_set_right_list_content"
                            android:layout_width="960dp"
                            android:layout_marginLeft="320dp"
                            android:layout_height="match_parent"
                           ></FrameLayout>

                </FrameLayout>

切换fragment时
FragmentTransaction b = fragmentManager.beginTransaction();
b.replace(R.id.network_set_content, wifiInfoFragment);
b.addToBackStack(null);
b.commit();


出现重叠

分别有两个fragment加载在左右两个FrameLayout中了,而且在两个小的FrameLayout中切换fragment是没有问题的,我现在添加一个新的fragment到最外层的FrameLayout就发现之前的两个小的fragment还在

                    然后我

                         FragmentManager fragmentManager = getActivity().getFragmentManager();
        FragmentTransaction ft_info_list = fragmentManager.beginTransaction();
        FragmentTransaction a = fragmentManager.beginTransaction();
        FragmentTransaction b = fragmentManager.beginTransaction();

        @Override
        public void onItemClick(AdapterView<?> parent, View view, int position, long id) {
            ft_info_list.remove(selectorListFragment).commit();
            a.remove(wiredNetWorkFragment).commit();
            b.replace(R.id.network_set_content, wifiInfoFragment);
            b.addToBackStack(null);
            b.commit();
        }

                    这样处理一下也是无效的。。请问有什么办法可以解决呢??

1个回答

qq_24827089
qq_24827089   2016.09.17 17:50

这三个布局应该同一级布局,父视图用RelativeLayout用调用b.replace(R.id.network_set_content, wifiInfoFragment);调用transaction.hide()隐藏两个
小的fragment或者两个FrameLayout设为View.GONE

Csdn user default icon
上传中...
上传图片
插入图片