静态加载Fragment遇到的'坑'

Activity加载Fragment有两种方式:

1.一种是静态加载Fragment
2.一种是动态的加载Fragment

这两种方式个人比较喜欢动态加载,这样的话比较方便fragment的替换添加和删除

静态加载Framgment
<LinearLayout
        android:id="@+id/haha"
        android:layout_width="match_parent"
        android:layout_height="match_parent">
        <fragment
            android:id="@+id/hehe"
            android:layout_width="match_parent"
            android:layout_height="match_parent"
            android:name="lyh.myapplication.f1"/>
    </LinearLayout>
静态加载的‘坑’
getFragmentManager().beginTransaction().replace(R.id.haha,f).commit();
直接替换的话,嘿嘿,不行     
getFragmentManager().beginTransaction().remove(getFragmentManager().findFragmentById(R.id.hehe));
getFragmentManager().beginTransaction().replace(R.id.haha,Fragment).commit();
想这么删除了在替换,哈哈,不存在的,只支持动态的

3.最终解决办法

LinearLayout haha=findViewById(R.id.haha);
haha.removeView(findViewById(R.id.hehe));
没错,就是把整个静态加载来的fragment直接删掉
getFragmentManager().beginTransaction().replace(R.id.haha,Fragment).commit();
成功

动态加载

已经在上面了

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 173,116评论 25 708
  • 前言 Fragment想必大家不陌生吧,在日常开发中,对于Fragment的使用也很频繁,现在主流的APP中,基本...
    斜杠时光阅读 2,592评论 4 22
  • Fragment 描述:   翻译可以译为:碎片、片段,Android 3.0开始引入fragments 的概念;...
    Lost_Robot阅读 1,726评论 0 11
  • Fragment是什么 说了半天的Fragment,也看到这么多次Fragment这个名词出现,那么Fragmen...
    October5阅读 8,296评论 0 8
  • 曾经在某一个瞬间,我们以为自己长大了,有一天,我们终于发现,长大的含义除了欲望还有勇气和坚强,以及某种必须的牺牲。...
    ee02694cbd4f阅读 64评论 0 0