Android FragmentManager使用
总结了一篇关于fragment管理的文章,之前一直很迷,现在实践后终于完全理解啦,欢迎各位大佬阅读修正
1.获取fragmentManager
要想使用好fragmentmanager,第一步肯定先要正确获取他呀:
- 获取activity中的fragmentmanager:在activity中
getFragmentManager()
或getSupportFragmentManager()
(这个用于support包的fragment,向下兼容,现api28后变成support包全部转为Androidx)如果在fragment中则可以先getactivity()
获取到其依赖的activity - 获取在fragment中的fragmentmanager:
getChildFragmentManager()
这种情况用于fragment中嵌套fragment,同时子fragment可以通过getParentFragment()
获得
2.事务
- 在Android中fragmentManager是以事务为单位来管理的,每次我们都通过
fragmentManager.beginTransaction()
来获得一个FragmentTransaction对象,然后进行添加,替换,删除等,最后commit提交,这整个过程从begin到commit进行的所有操作就是一个事务,每