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)有关,包里存的哪种方法,你就用那种喽

你可能感兴趣的:(Android成长笔记4——getSupportFragmentManager()与getFragmentManager())