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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM