Fragment1 跳轉到 Fragment2 後返回,如何保持 Fragment1 原有顯示狀態(包含 ViewPager 及其兩個子 View)不變?
使用 FragmentTransaction.hide() 和 show() 替代 replace(),避免 Fragment 重建。具體步驟:
hide(fragment1)、add(fragment2)hide(fragment2)、show(fragment1)FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
if (!fragment2.isAdded()) {
ft.hide(fragment1).add(R.id.container, fragment2).commit();
} else {
ft.hide(fragment1).show(fragment2).commit();
}
// 返回時反向操作
詳細實現請參考:Fragment 切換保持狀態完整教程