5

Context ý: Tôi có một ứng dụng sử dụng ActivitiesFragments. Tôi tạm dừng nó để truy cập một số khác như Google Dịch. Từ GTranslate, tôi sử dụng quy trình chia sẻ Intent để gửi dữ liệu văn bản đến ứng dụng của tôi với intent-filterACTION_SEND. Ngay cả khi ứng dụng đầu tiên ở chế độ nền hiện tại, activity hiện được tạo lại.Fragment không tiếp tục với các hoạt động của mình sau khi sử dụng chia sẻ

Các vấn đềfragment liên quan đến activity đề cập không phải tái tạo quá và gây phiền nhiễu hơn không tiếp tục (phương pháp onResume của mảnh không bao giờ được gọi là).

Câu hỏi: Tại sao trong việc sử dụng intent thông qua ứng dụng, fragments không theo chu kỳ hoạt động của cha mẹ của họ và không được tiếp tục ít nhất? Có cách nào để giải quyết vấn đề này không?

Hoặc tôi hoàn toàn sai?

Trả lời

0

Sử dụng Hoạt động phân đoạn thay vì Hoạt động.

Từ FragmentActiviy:

văn onResume() để mảnh. Lưu ý rằng để có hoạt động liên kết tốt hơn với các phiên bản cũ hơn của nền tảng, tại thời điểm cuộc gọi này, các đoạn được đính kèm với hoạt động sẽ không được tiếp tục. Điều này có nghĩa là trong một số trường hợp, trạng thái trước đó vẫn có thể được lưu, không cho phép các giao dịch đoạn sửa đổi trạng thái. Để tương tác chính xác với các đoạn trong trạng thái thích hợp của chúng, thay vào đó bạn nên ghi đè {@link #onResumeFragments().

Vì vậy, đúng nơi để thao tác các mảnh vỡ của bạn trong FragmentActivity của bạn được trọng dụng phương pháp onResumeFragments như thế này:

protected void onResumeFragments(){  
super.onResumeFragments(); 

     // YOUR STUFF IS HERE 
} 
+0

Ngay cả trong việc điều khiển các mảnh vỡ trong 'onResumeFragments', nó không hoạt động. – damson

+0

Một số đoạn mã của những gì bạn đang làm sẽ hữu ích. Sau khi đọc lại bài đăng của bạn, có vẻ như bạn đang mở một phiên bản ứng dụng khác với mục đích chia sẻ của Google Dịch, hãy sử dụng thứ gì đó như onActivityResult(), bundle, v.v. để nhận dữ liệu từ GTranslate, do đó ứng dụng gốc của bạn không có t nhận được dữ liệu và cũng là mảnh gốc bị dừng lại. – Rick