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