Android成长笔记4——getSupportFragmentManager()与getFragmentManager()

问题环境


详情:https://www.cnblogs.com/earl-yongchang/p/5747860.html

详情如下:

      在activity中应该使用:getSupportFragmentManager()。如果使用getFragmentManager(),在跳转自定义Fragment是会编译报错。

wrong 2nd argument type....

而在自定义的Fragment中使用getFragmentManager()则没问题。

通过查看源码可知,Acrivity中getFragmentManager( )用的是包下的代码,

package android.app;

而Fragment则用

package android.support.v4.app;


    这就好比有两大家族各族内的人员不能重名,

package android.app

下有一个小明,而V4下也有个小明。

那么自定义的Fragment是V4下的小明,如果在activity中用getFragmentManager( )强行给了android.app,那android.app坑定不会认同的。

如果使用

getSupportFragmentManager()

就没问题了,因为他是V4下的,所以可用把这个小明送回V4。

总结:使用哪种方法主要和定义文件类型的包(package)有关,包里存的哪种方法,你就用那种喽

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容