Tôi đã đọc một số bài viết và câu trả lời (bao gồm this one) về mã không dùng nữa, nhưng tôi hơi bối rối về cách xử lý (cụ thể) không được chấp nhận Fragment
trình xử lý sự kiện onInflate
.Cách chính xác để xử lý sự kiện Fragment không được chấp nhận trênAttach và onInflate
tôi đã thay thế thực hiện của tôi
public void onInflate(Activity activity, AttributeSet attrs, Bundle savedInstanceState)
với
public void onInflate(Context context, AttributeSet attrs, Bundle savedInstanceState)
Nếu tôi chạy ứng dụng của tôi trên một máy < API23, mã thay thế không được gọi.
Nếu tôi khôi phục mã không sử dụng ban đầu (để bây giờ tôi có cả hai phương pháp được triển khai) thì mã không dùng nữa được gọi, trả về chức năng chính xác, nhưng cuộc gọi hiện đang được thực hiện theo phương thức không dùng nữa (?).
Và khi tôi chạy ứng dụng trên máy API23, có vẻ như cả hai phiên bản của trình xử lý được gọi.
Câu hỏi đặt ra là, điều gì đang xảy ra ở đây? Nếu tôi đang viết mã được cho là chạy trên cả hai phiên bản API23 và phiên bản cũ hơn, tôi có cần thực hiện các phương thức không được chấp nhận cũng như các phương thức mới không?
Và nếu đó là trường hợp, tôi có cần phải tìm ra và thực hiện các phương pháp không được chấp nhận khác "chỉ trong trường hợp" không? (Và, do đó, là có một danh sách các phương pháp phản đối để "back-mã" cho?)
UPDATE:
bây giờ tôi đã thay đổi từ việc sử dụng android.app.Fragment
-android.support.v4.app.Fragment
(tức là từ mẹ đẻ các mảnh vỡ để hỗ trợ các đoạn) và ứng dụng hiện đang hoạt động như mong đợi, với mã xử lý thay thế chạy cho tất cả các phiên bản và đang đi qua nguồn Android như mong đợi.
Nhưng câu hỏi vẫn còn: TẠI SAO?
Tại sao là triển khai 'bản địa' android.app.Fragment
**** được chỉnh sửa? Nhìn lại các câu hỏi trước đó thì vấn đề này đã được thảo luận lại vào tháng 9 năm 2015. Vì vậy, lý do tại sao vẫn là sự cố? Và lý do tại sao nên có sự khác biệt trong việc triển khai hỗ trợ và các đoạn mã gốc sau API 11?
Cảm ơn bạn đã chỉnh sửa bị khấu hao thành không dùng nữa. Tôi chưa bao giờ nhận ra mình đã rất khó đọc! :) – SimonH