Tôi đang học cách sử dụng các mảnh, và có rất nhiều gotchas nhỏ mà tôi đã đi qua cho đến nay. Phương pháp executePendingTransactions
của FragmentManager vẻ như nó có thể có một vài trong số riêng của mình, đặc biệt là vì ghi chú này trong mô tả của nó trong tài liệu Android chính thức:Những trường hợp nào tôi KHÔNG nên sử dụng executePendingTransactions của FragmentManager() (trong chuỗi chính)?
Nếu bạn muốn ngay lập tức thực hiện bất kỳ hoạt động cấp phát như vậy, bạn có thể gọi chức năng này (chỉ từ chủ đề chính) để làm như vậy. Lưu ý rằng tất cả các cuộc gọi lại và hành vi liên quan khác sẽ được thực hiện từ bên trong cuộc gọi này, vì vậy hãy cẩn thận về nơi mà cuộc gọi này được gọi. http://developer.android.com/reference/android/app/FragmentManager.html#executePendingTransactions()
Nghe như một cảnh báo khá khó hiểu. Các "callbacks và hành vi liên quan khác" sẽ ảnh hưởng như thế nào đến ứng dụng của tôi? Điều này có thể gây ra sự cố khi gọi chức năng này từ chuỗi chính không? Tôi không thể tìm thấy bất kỳ ví dụ cụ thể, vì vậy tôi yêu cầu sự giúp đỡ từ bất cứ ai đã demystified cảnh báo này: một số ví dụ về khi nào tôi nên không sử dụng executePendingTransactions
trong thread chính, và những điều khủng khiếp sẽ xảy ra nếu tôi đã làm là gì ? Hoặc là luôn luôn an toàn để sử dụng miễn là nó nằm trong chủ đề chính?
http://stackoverflow.com/questions/6276991/android-honeycomb-how-to-determine-when-fragmenttrancaction-commit-has -finish – waqaslam
Cảm ơn @Waqas, tôi đã đọc chủ đề đó trước khi đăng bài này. Nó vẫn không trả lời câu hỏi của tôi, vì nó chỉ tập trung vào một trường hợp cụ thể. – LearningNerd