Tôi có một đầu dò và tôi không thể tìm thấy giải pháp ở bất cứ đâu.addToBackStack không hoạt động, đóng hoạt động thay vì popping back fragments
Ứng dụng của tôi không quay lại đoạn trước đó khi tôi nhấn nút quay lại, thay vào đó đóng hoạt động.
Tôi có hoạt động hiển thị 4 đoạn: [1], [2], [3], [4]. Tôi có thể chuyển đổi giữa 3 đoạn đầu tiên với thanh tác vụ, tôi không muốn thêm chúng vào ngăn xếp lại.
Phân đoạn [4] là chế độ xem chi tiết của một mục được chọn trong đoạn [3]. Khi tôi nhấn trở lại [4] tôi muốn quay trở lại mảnh vỡ [3], không đóng ứng dụng.
Các hiệu ứng chuyển tiếp được thực hiện theo cách này bởi hoạt động, trong đó các mảnh được đặt:
private void replaceFragment(Fragment fragment, boolean toBackStack){
if(fragment != null){
FragmentTransaction fragmentTransaction = getFragmentManager().beginTransaction();
fragmentTransaction.replace(R.id.container, fragment);
if(toBackStack)
fragmentTransaction.addToBackStack(null);
fragmentTransaction.commit();
}
}
nơi toBackStack phải lúc nào cũng sai trừ khi quá trình chuyển đổi từ [3] [4].
Nếu tôi chuyển đếnBackStack đúng trong mọi chuyển tiếp, hoạt động sẽ đóng lại.
Vì vậy, thay vì giữ trạng thái trong Hoạt động, có thể tốt hơn để thực hiện điều này trong onBackPressed() if (getFragmentManager)() .getBackStackEntryCount()> 0) getFragmentManager(). popBackStack(); – toidiu