2011-09-30 26 views
7

Theo một số tài liệu, tôi có thể sử dụng Trình tải trong một Hoạt động hoặc một Phân đoạn nhưng Gói Tương thích cho thấy rằng chỉ có một FragmentActivity có phương thức getLoaderManager().Tôi có phải sử dụng Phân đoạn để tải Trình quản lý tải không?

Vì con trỏ được quản lý cũ đã không được chấp nhận, chúng tôi phải sử dụng Trình tải con trỏ. Vậy tại sao chức năng quản lý dữ liệu này được gắn với một sự lựa chọn của các widget UI? Nó làm cho không có ý nghĩa với tôi.

nhờ P.

Trả lời

6

Kể từ khi con trỏ quản lý cũ đã bị phản đối chúng ta phải sử dụng con trỏ Loader.

Không, con trỏ được quản lý vẫn hoạt động. Thông thường, "không được chấp nhận" trong Android có nghĩa là "chúng tôi sẽ hỗ trợ cơ chế này miễn là chúng tôi có thể, nhưng chúng tôi nghĩ rằng có những lựa chọn tốt hơn".

Vậy tại sao chức năng quản lý dữ liệu này được gắn với lựa chọn tiện ích con giao diện người dùng?

Không. Bạn không phải sử dụng các đoạn thừa kế từ FragmentActivity. Bạn cũng được hoan nghênh tạo LoaderManagerCapableActivity của riêng mình, nơi bạn sao chép các thành viên và phương thức dữ liệu có liên quan từ FragmentActivity (mã nguồn nằm trên ổ cứng của bạn). Tuy nhiên, LoaderManager được liên kết với một hoạt động vì nó được gắn với vòng đời hoạt động, cũng như các con trỏ được quản lý. Ví dụ: các trường hợp LoaderManager được chuyển giữa các hoạt động qua onRetainNonConfigurationInstance().

1

Có, theo thứ tự để tải trình quản lý nó phải được liên kết với một hoạt động tuy nhiên nó có thể sử dụng bộ tải mà không cần loaderManger.

1) Triển khai AsynTaskLoader.
2) Khởi tạo Trình tải mà bạn đã triển khai trong lớp học của mình.
3) Đăng ký người nghe cho bộ tải của bạn để bạn sẽ nhận được cuộc gọi lại khi quá trình tải hoàn tất.
4) Gọi phương thức startLoading của bộ nạp.
5) Sau khi tải xong, phương thức gọi lại sẽ được gọi là nơi bạn có thể sử dụng dữ liệu đã tải cho bất kỳ mục đích nào.

Các vấn đề liên quan