0
我有一個實現LoaderManager.LoaderCallbacks遊標類的活動。 我有從SQlite獲取數據的這個功能。從SimpleCursorAdapter獲取光標
@Override
public Loader<Cursor> onCreateLoader(int id, Bundle args) {
switch (id) {
case ITEM_LOADER_ID:
// The uri points to Item, which is the items in the inventory
Uri uri = InventoryContract.Item.contentUriWithAccount(mCloverAccount);
String sortOrder = InventoryContract.Item.NAME;
String selection = "";
try {
selection = InventoryContract.ItemColumns.CODE;
catch (Exception e){
Log.e("Error",e.toString());
}
return new CursorLoader(HomeActivity.this, uri, null, selection, null, sortOrder);
default:
// An invalid id was passed in
}
throw new IllegalArgumentException("Unknown Loader ID");
}
我有一個SimpleCursorAdapter
SimpleCursorAdapter adapter = new SimpleCursorAdapter(
this,
android.R.layout.simple_list_item_2,
null,
new String[]{InventoryContract.Item.NAME, InventoryContract.Item.PRICE_TYPE},
new int[]{android.R.id.text1, android.R.id.text2},
0
);
這是功能性和獲取數據,但我想要得到的光標這樣我就可以獲取所有信息,並存儲到用於執行後的名單。我搜索所有相關鏈接獲取光標,並找到一個代碼是:
Cursor c = adapter.getCursor();
try {
int i = 0;
while (c.moveToNext()){
Log.e("In Log Cursor",c.getString(i));
i++;
}
c.close();
}
catch (Exception e){
Log.e("Error",e.toString());
}
但它得到空遊標。我想獲取這些數據併爲進一步操作製作自定義適配器。請幫助我找到解決方案或任何其他方式從SQlite獲取數據並將其存儲爲List,在獲取後我可以使用它並可以在RecyclerView中設置它。提前致謝。
你不需要任何自定義適配器步驟,只是用'SimpleCursorAdapter',如果你想顯示的'RecyclerView'使用[這](HTTPS數據://依據。 github.com/Shywim/127f207e7248fe48400b)適配器代替 – pskink
CursorRecyclerAdapter(遊標遊標)我必須在此函數中傳遞遊標,但遊標將從哪裏獲取? – Awais
請參閱http://www.grokkingandroid.com/using-loaders-in-android/#how_to_deal_with_cursoradapters – pskink