Đã tìm kiếm sự cố này trong một thời gian không có lịch phát sóng ngay bây giờ:Cách xác định phân đoạn được khôi phục từ backstack
Làm cách nào để xác định phân đoạn đang được khôi phục từ backstack? Tôi đang sử dụng thư viện tương thích và một ListFragment bên trong một FragmentActivity. Khi một mục bên trong ListFragment được chọn, một Fragment mới được bắt đầu để thay thế ListFragment.
Tôi nhận thấy rằng khi FragmentActivity bị tạm dừng, hàm onSaveInstanceState của Fragment được gọi. Nhưng khi Fragment được đưa vào ngăn xếp trở lại thông qua FragmentTransaction, onSaveInstanceState không được gọi, sau đó các phương thức vòng đời onCreateView và onActivityCreated được gọi với gói lưu trữ nullInstanceState.
Tôi hỏi điều này vì tôi muốn tải một số dữ liệu khi Phân đoạn được tạo hoặc khôi phục nhưng không phải khi người dùng quay lại. backstack.
Tôi đã xem How to check if Fragment was restored from a backstack? nhưng muốn thêm chi tiết khác với hy vọng điều này sẽ kích động câu trả lời.
Edit: chỉ nhận thấy http://developer.android.com/reference/android/app/Fragment.html#onSaveInstanceState(android.os.Bundle) nói
Lưu ý tuy nhiên: phương pháp này có thể được gọi bất cứ lúc nào trước khi onDestroy(). Có rất nhiều tình huống mà một mảnh có thể bị rách nát (như khi được đặt trên ngăn xếp phía sau không có hiển thị giao diện người dùng), nhưng trạng thái của nó sẽ không được lưu cho đến khi hoạt động sở hữu thực sự cần lưu trạng thái của nó.
Vì vậy onSaveInstanceState chắc chắn là ra câu hỏi ...
Như một chút cập nhật cho câu hỏi này, tôi nghi ngờ ngày càng nhiều đó là do thoái thác thư viện tương thích của. Chưa thử chạy thử nghiệm trên 3.0 thiết bị, sẽ kiểm tra lại khi tôi thực hiện. – dvd
tại sao bạn không đặt cuộc gọi máy chủ của mình để tải dữ liệu trong 'onCreate()'. Có lẽ, điều đó sẽ làm giảm bớt rắc rối của bạn. Tôi tin rằng phương pháp này đặc biệt không được gọi là khi một mảnh được khôi phục từ ngăn xếp trở lại. – Abhijit