我目前正在開發一個android應用程序,該應用程序用來自本地數據庫的數據提供我的內容活動。我正在使用本地數據庫使用RecycleView and Cardview
。將光標實施到recyclerview適配器
我已經實現了recycleview適配器,但是當使用return
問題時,我的光標適配器到回收視圖適配器失敗。我認爲我沒有做正確的事情。我到目前爲止所嘗試的是以下。
下面的代碼是假設從數據庫處理程序中設置數據,
public class Items extends Activity{
static Context context;
private String name;
public void setName(String name){
this.name=name;
}
public String getName(){
return name;
}
private static DatabaseHandler db = new DatabaseHandler(context);
public static Items fromCursor(Cursor cursor) {
ArrayList<String> users;
users = new ArrayList<String>();
users = db.AllItems();
return users;
}
}
另外綁定視圖保持器類,這是在recyleview
public void onBindViewHolder(ViewHolder viewHolder, Cursor cursor) {
Items myListItem = Items.fromCursor(cursor);
viewHolder.mTextView.setText(myListItem.getName());
}
最後,從數據庫處理程序獲取所有項目
public ArrayList<String> AllItems() {
ArrayList<String> user = new ArrayList<String>();
// Select All Query
String selectQuery = "SELECT * FROM " + TABLE_LOGIN;
SQLiteDatabase db = this.getReadableDatabase();
Cursor c = db.rawQuery(selectQuery, null);
// looping through all rows and adding to list
if (c.moveToFirst()) {
do {
String firstName = c.getString(c.getColumnIndex(KEY_FIRSTNAME));
user.add("" + firstName);
} while (c.moveToNext());
}
return user;
}
我發現很難通過Items類實現光標或數據到onBindViewHolder
方法。如果有人能幫我修復它,我將不勝感激。我非常感謝。
我不知道你爲什麼加載'Cursor'結果到'AllItems'爲什麼'onBindViewHolder()'試圖使用遊標這兩件事。 FWIW,這裏是一個示例應用程序,演示如何使用'Cursor'作爲'RecyclerView'的數據模型,其中'Cursor'來自'MediaStore':https://github.com/commonsguy/cw -omnibus /樹/主/ RecyclerView/VideoList – CommonsWare