Tôi đang sử dụng SimpleCursorAdapter không được chấp nhận để hiển thị dữ liệu từ Cursor đến ListView. Tôi đã thêm đối số bổ sung 0
, loại bỏ cảnh báo được hiển thị, nhưng tôi muốn sử dụng một cách tốt hơn để hiển thị dữ liệu. Tôi đã đọc một cái gì đó về Loader
, nhưng không biết làm thế nào để thực hiện nó. Điều gì sẽ là một lựa chọn tốt hơn cho mã dưới đây? Mã này sẽ được dịch để sử dụng Trình tải như thế nào?Thay thế SimpleCursorAdapter
Cursor c = mDbHelper.getAllRecords();
startManagingCursor(c); //this is also deprecated
String[] from = new String[] { "Name" };
int[] to = new int[] { R.id.text1 };
SimpleCursorAdapter names =
new SimpleCursorAdapter(this, R.layout.names_row, c, from, to, 0);
setListAdapter(names);
"nhưng tôi muốn sử dụng một cách tốt hơn để hiển thị dữ liệu". Trình tải chỉ đọc dữ liệu từ cơ sở dữ liệu của bạn trên một chuỗi khác, nó không thay đổi cách dữ liệu được hiển thị. Bạn nên thay đổi 'names_row.xml' để thay đổi cách nó được hiển thị. – Sam
Câu hỏi đã được chỉnh sửa. – domen
Chuyển sang Trình tải không phải là vấn đề tầm thường chỉ sử dụng các lớp học Android. Trước tiên, bạn cần tạo một ContentProvider và sau đó triển khai khung công tác Loader. Tuy nhiên [CommonsWare] (http://stackoverflow.com/u/115145/) đã viết [một thư viện Loader] (https://github.com/commonsguy/cwac-loaderex) mà không yêu cầu ContentProviders. Đây là [hướng dẫn] (http://www.grokkingandroid.com/using-loaders-in-android/) bao gồm cả hai cách tiếp cận. – Sam