9

CursorAdapter có 3 hàm tạo. Hãy xem hướng dẫn và tham khảo.CursorAdapter nào tôi có thể sử dụng?

1) CursorAdapter (bối cảnh bối cảnh, con trỏ c)

constructor này bị phản đối. Tùy chọn này không được khuyến khích, vì nó dẫn đến truy vấn Cursor được thực hiện trên giao diện người dùng của ứng dụng và do đó có thể gây ra phản ứng kém hoặc thậm chí ứng dụng Không Các lỗi trả lời. Thay vào đó, hãy sử dụng LoaderManager với Trình tải con trỏ .

2) CursorAdapter (bối cảnh bối cảnh, con trỏ c, boolean autoRequery)

Constructor cho phép kiểm soát tự động requery. Bạn nên sử dụng bạn không sử dụng số này, mà thay vào đó là CursorAdapter (Bối cảnh, Con trỏ, int).

3) CursorAdapter (bối cảnh bối cảnh, con trỏ c, int cờ)

Đề xuất xây dựng.

cờ Cờ được sử dụng để xác định hành vi của bộ điều hợp; có thể là bất kỳ kết hợp nào của FLAG_AUTO_REQUERY và FLAG_REGISTER_CONTENT_OBSERVER.

FLAG_AUTO_REQUERY Hằng số này không được chấp nhận. Tùy chọn này là không khuyến khích, vì nó dẫn đến truy vấn Cursor được thực hiện trên luồng giao diện người dùng của ứng dụng và do đó có thể gây ra phản hồi kém hoặc thậm chí Lỗi ứng dụng không phản hồi. Thay vào đó, hãy sử dụng Trình quản lý tải bằng Trình tải con trỏ.

FLAG_REGISTER_CONTENT_OBSERVER. Cờ này không cần thiết khi sử dụng CursorAdapter với Trình tải con trỏ.

CursorAdapter (bối cảnh bối cảnh, con trỏ c, int cờ) là các nhà xây dựng đề nghị, nhưng những lá cờ có thể là 2, người ta bị phản đối và người kia là không cần thiết khi sử dụng một CursorAdapter với một CursorLoader. Nếu tôi sử dụng một CursorAdapter với một CursorLoader tôi phải sử dụng constructor này và vượt qua số không như cờ? Và trong trường hợp này là hàm tạo giống với # 1 bị phản đối?

Trả lời

6

Bằng cách sử dụng # 1, thiết bị sẽ mặc định bộ điều hợp để tự động truy vấn lại. Điều này khác với # 3 vì bạn có thể chỉ định xem bạn có muốn tự động sắp xếp lại (bạn không nên, theo tài liệu). Vì vậy, không, # 1 và # 3 không giống nhau nếu bạn vượt qua hàm tạo # 3 0.

1

CursorAdapter là lớp trừu tượng và do đó không thể được khởi tạo.

Ngoài ra, hãy nhớ rằng hàm tạo thứ 3 chỉ là API 11+.

+3

Có, ứng dụng của tôi có phiên bản phút API 7 nhưng tôi sử dụng gói tương thích – crbin1

0

Bạn cần di chuyển bằng Trình quản lý tải và Trình tải.

vì hầu hết tất cả đều không được dùng nữa.tốt hơn khi sử dụng CursorLoader với LoaderManager và Loader

Bạn có thể tìm thấy dự án mẫu trong liên kết dưới đây, danh sách các ứng dụng được cài đặt trong bất kỳ điện thoại nào.

https://github.com/alexjlockwood/AppListLoader.git

Chúc may mắn ..

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