需求:點擊一個按鈕,同時在兩個容器 (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();
});
addToBackStack(null) 配合 popBackStack()。ft.disallowAddToBackStack() (API 26+)。若是「左側選單 + 右側內容」雙欄聯動,建議使用 DrawerLayout + NavigationView 或成熟庫 (MaterialDrawer),而非手動雙容器替換。
核心:**單一 Transaction 內連續 replace 多容器**,即可實現同步切換。