首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Android Fragment 切換保持狀態的最佳實踐

     編輯:程式設計疑難解答

問題描述

Fragment1 跳轉到 Fragment2 後返回,如何保持 Fragment1 原有顯示狀態(包含 ViewPager 及其兩個子 View)不變?

解決方案

使用 FragmentTransaction.hide() 和 show() 替代 replace(),避免 Fragment 重建。具體步驟:

  1. 首次添加 Fragment1 到容器
  2. 跳轉時 hide(fragment1)、add(fragment2)
  3. 返回時 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 切換保持狀態完整教程

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved