Ứng dụng của tôi có nhiều đoạn và hoạt động. Trong suốt vòng đời của hoạt động chính của phụ huynh, ứng dụng trình bày thông tin/tùy chọn cho người dùng trong các hoạt động khác.Làm cách nào để bạn xử lý các giao dịch phân đoạn khi trạng thái của hoạt động gốc nhất định được lưu?
Các tài liệu cho mảnh vỡ có sau quy định đối với cam kết():
Chú ý: Bạn có thể cam kết một giao dịch sử dụng cam kết() chỉ trước khi các hoạt động tiết kiệm trạng thái của nó (khi người dùng rời khỏi hoạt động) . Nếu bạn cố gắng cam kết sau thời điểm đó, một ngoại lệ sẽ được ném. Điều này là do trạng thái sau khi cam kết có thể bị mất nếu hoạt động cần được khôi phục. Đối với các tình huống trong đó nó không sao mà bạn mất cam kết, sử dụng commitAllowingStateLoss().
Vấn đề là sau khi trở lại hoạt động gốc, tôi không còn có thể sử dụng FragmentTransactions không thể tách rời theo cách tôi đã thiết kế điều hướng trong ứng dụng.
Một giải pháp mà tôi đã nghĩ là thay đổi hoạt động của mình thành phân đoạn, tuy nhiên ứng dụng của tôi cuối cùng cũng sẽ sử dụng thanh toán trong ứng dụng mà tôi cho rằng sẽ luôn bắt đầu hoạt động của riêng mình. Điều này có vẻ giống như một hạn chế lớn - tại một số điểm trong phát triển, tôi sẽ phải hiển thị một hoạt động riêng biệt.
Tôi có thể có thể lấy đi bằng cách sử dụng commitAllowingStateLoss(), nhưng tôi cảm thấy như tôi đang thiếu một khái niệm chính trong phát triển ứng dụng máy tính bảng Android. Có cách nào để bắt đầu các hoạt động sau đó quay lại hoạt động gốc (quản lý các đoạn) mà không làm mất khả năng thực hiện các phân đoạn FragmentTransactions không?
Đọc [** bài đăng trên blog **] này (http://www.androiddesignpatterns.com/2013/08/fragment-transaction-commit-state-loss.html) có thể hữu ích. –