java SQLite表错误
我正在Android中与SQLite合作。我的表中只有一个对象,即名称。我想制作arraylist并在recyclerview中使用它。但我得到了下面给出的错误。有了它,我知道光标有一些问题,但现在不知道该怎么办
错误
Failed to read row 0, column -1 from a CursorWindow which has 7 rows, 1 columns.
编码到
public List<FavNames> getFav(){
SQLiteDatabase db = getReadableDatabase();
SQLiteQueryBuilder qb = new SQLiteQueryBuilder();
String[] sqlMasterSelect = {"name"};
String sqlMasterTable = "FavNames";
qb.setTables(sqlMasterTable);
Cursor c = qb.query(db,sqlMasterSelect,
null,null,null,null,null);
final List<FavNames> masterResult = new ArrayList<>();
if (c.moveToFirst()){
do {
masterResult.add(new FavNames(c
.getString(c.getColumnIndex("name"))));
}while (c.moveToNext());
}
return masterResult;
}
回收视图
recyclerView = findViewById(R.id.favRecycler);
recyclerView.setHasFixedSize(true);
layoutManager = new LinearLayoutManager(this);
recyclerView.setLayoutManager(layoutManager);
fav = new Database(this).getFav();
adapter = new FavAdapter(getBaseContext(), fav);
recyclerView.setAdapter(adapter);
# 1 楼答案
您必须确保列名为
name
对于这样一个简单的查询,您不需要SQLiteQueryBuilder
这只是一个简单的查询
我希望我没有打字错误