在activity中无法使用getFragmentManager()

在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。

原文地址:https://www.cnblogs.com/earl-yongchang/p/5747860.html