1. 程式人生 > >區別getFragmentManager、getSupportFragmentManager和getChildFragmentManager

區別getFragmentManager、getSupportFragmentManager和getChildFragmentManager

我在基本使用和巢狀使用Fragment的時候一直沒有搞清楚這三個方法,直到在stack overflow找到了答案,我把它翻譯過來並結合自己的理解總結成了這篇文章。

getFragmentManager()與getSupportFragmentManager():
相同:

/**
     * Return the FragmentManager for interacting with fragments associated
     * with this activity.
     */
就是說通過上述兩種方法獲得的FragmentManager是Activity中所包含Fragment的FragmentManager。

不同:
getFragmentManager():是Activity中和V4包的Fragment中的方法
getSupportFragmentManager():是FragmentActivity中的方法

getChildFragmentManager():

/**
     * Return a private FragmentManager for placing and managing Fragments
     * inside of this Fragment.
     */

就是說通過上述方法獲得的是巢狀於Fragment的Fragment的FragmentManager。