静态加载Fragment遇到的'坑'

Activity加载Fragment有两种方式:

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

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

静态加载Framgment

        
    
静态加载的‘坑’
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();
成功

动态加载

已经在上面了

你可能感兴趣的:(静态加载Fragment遇到的'坑')