getFragmentManager、getSupportFragmentManager和getChildFragmentManager 的區(qū)別

使用Fragment需要熟悉幾個類,包括FragmentActivity、FragmentManager、 FragmentTranscation,一個FragmentActivity可以包含多個Fragment,誰來管理?

FragmentManager就起到了作用。做Fragment的增加、刪除、替換的時候,事務FragmentTranslation 來負責執(zhí)行。

getFragmentManager()和getSupportFragmentManager()的區(qū)別很容易理解,android的v4擴展包中的FragmentActivity中獲取FragmentManager使用的就是getSupportFragmentManager(),android.app中獲取管理類的方法就是getFragmentManager()。

getChildFragmentManager() 屬于 android.support.v4.app.Fragment

    /**
    * Return a private FragmentManager for placing and managing Fragments
    * inside of this Fragment.
    */
   @NonNull
   final public FragmentManager getChildFragmentManager() {
       if (mChildFragmentManager == null) {
           instantiateChildFragmentManager();
           if (mState >= RESUMED) {
               mChildFragmentManager.dispatchResume();
           } else if (mState >= STARTED) {
               mChildFragmentManager.dispatchStart();
           } else if (mState >= ACTIVITY_CREATED) {
               mChildFragmentManager.dispatchActivityCreated();
           } else if (mState >= CREATED) {
               mChildFragmentManager.dispatchCreate();
           }
       }
       return mChildFragmentManager;
   }



  

getFragmentManager()在Activity中也在 android.support.v4.app.Fragment

 public FragmentManager getFragmentManager() {
        return mFragments.getFragmentManager();
    }
    // android.support.v4.app.Fragment 中
    @Nullable
    final public FragmentManager getFragmentManager() {
        return mFragmentManager;
    }

getSupportFragmentManager() 在 android.support.v4.app.FragmentActivity

   /**
     * Return the FragmentManager for interacting with fragments associated
     * with this activity.
     */
    public FragmentManager getSupportFragmentManager() {
        return mFragments.getSupportFragmentManager();
    }

?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
【社區(qū)內容提示】社區(qū)部分內容疑似由AI輔助生成,瀏覽時請結合常識與多方信息審慎甄別。
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發(fā)布,文章內容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務。

相關閱讀更多精彩內容

友情鏈接更多精彩內容