2

我在父片段內部有2個片段。在親代片段的OnCreateView()中,我嘗試通過replace(int, Fragment)顯示這些片段。據我所知,FragmentTransaction#commit()被異步調用。Android在另一個片段內替換片段

所以,如果用戶迅速按下後退按鈕 - 系統會破壞父片段(它調用onPause()onStop()onDestroyView()onDestroy())和異步替換任務將失敗 - 父視圖被破壞,系統拋出「拋出:IllegalArgumentException :未找到片段MyFragment的視圖「。我使用支持庫。

那麼,我該如何管理這種情況呢? 我將非常感謝任何幫助。

回答

1

我解決了我的問題。對於嵌套片段,應使用getChildFragmentManager()而不是getFragmentManager()ChildFragmentManager似乎跟蹤父分段的生命週期,並取消預定的提交,如果父分段將被銷燬。