Chỉ có một ý tưởng:sử dụng một trình tải con trỏ khác bên trong mục danh sách. Vì vậy, điều này sẽ giống như bộ tải con trỏ hai cấp. Tôi sẽ đăng kết quả của mình sau.
Chỉnh sửa :
Ý tưởng được đề xuất phải là cách xử lý vấn đề đúng đắn. Vì vậy, mã của tôi được cấu trúc lại như thế này:
// In the list view activity:
@Override
public void bindView(View view, Context context, Cursor cursor) {
AlbumListItem albumListItem = (AlbumListItem)view;
albumListItem.prepareView(getLoaderManager(), cursor);
}
// AlbumListItem is a class that has a cursor loader to query photos:
public class AlbumListItem extends RelativeLayout implements LoaderManager.LoaderCallbacks<Cursor>{
public void prepareView(LoaderManager loaderManager, Cursor albumCursor){
albumId = albumCursor.getLong(albumCursor.getColumnIndex(AlbumsColumns._ID));
// Other init stuff
loaderManager.initLoader(UNIQUE_LOADER_ID, null, this);
}
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
// Here is the async query part.
return new CursorLoader(context, PhotosColumns.CONTENT_URI, null, PhotosColumns.ALBUM_ID + " = ?", new String[]{Long.toString(albumId)}, null);
}
}