「已注销」 2016-09-17 06:42 采纳率: 0%
浏览 2255

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条回答

  • C盘无限大 2016-09-17 09:50
    关注

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

    评论

报告相同问题?

悬赏问题

  • ¥15 yolov7训练自己的数据集
  • ¥15 esp8266与51单片机连接问题(标签-单片机|关键词-串口)(相关搜索:51单片机|单片机|测试代码)
  • ¥15 电力市场出清matlab yalmip kkt 双层优化问题
  • ¥30 ros小车路径规划实现不了,如何解决?(操作系统-ubuntu)
  • ¥20 matlab yalmip kkt 双层优化问题
  • ¥15 如何在3D高斯飞溅的渲染的场景中获得一个可控的旋转物体
  • ¥88 实在没有想法,需要个思路
  • ¥15 MATLAB报错输入参数太多
  • ¥15 python中合并修改日期相同的CSV文件并按照修改日期的名字命名文件
  • ¥15 有赏,i卡绘世画不出