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

Android Fragment 切換:單按鈕同時替換兩個 Fragment 容器

     編輯:程式設計綜合問答

需求:點擊一個按鈕,同時在兩個容器 (R.id.container1, R.id.container2) 內切換 Fragment。

實作

btn.setOnClickListener(v -> {
    FragmentTransaction ft = getSupportFragmentManager().beginTransaction();
    // 容器 1
    ft.replace(R.id.container1, new FragmentA());
    // 容器 2
    ft.replace(R.id.container2, new FragmentB());
    ft.commit();
});

狀態管理

  • 若需記住上一個 Fragment,可用標記變數或 addToBackStack(null) 配合 popBackStack()。
  • 避免重複加入回退棧導致記憶體洩漏,必要時 ft.disallowAddToBackStack() (API 26+)。

替代方案:SlidingMenu / Navigation Drawer

若是「左側選單 + 右側內容」雙欄聯動,建議使用 DrawerLayout + NavigationView 或成熟庫 (MaterialDrawer),而非手動雙容器替換。

核心:**單一 Transaction 內連續 replace 多容器**,即可實現同步切換。

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