尝试检索本地数据库上表的所有条目时出现此错误:
java.lang.RuntimeException:无法启动活动 ComponentInfo{com.example.contactappca2/com.example.contactappca2.ViewActivity}:java.lang.IllegalStateException:无法从 CursorWindow 读取第 0 行第 0 列。确保在从光标访问数据之前正确初始化光标。
原因:java.lang.IllegalStateException:无法从 CursorWindow 读取第 0 行第 0 列。确保在从光标访问数据之前正确初始化光标。
这是我在 DbAdapter 类中检索条目的方法:
public List<Contact>getAllContacts(){
contacts = new ArrayList<Contact>();
cursor = db.query(TABLE_NAME, new String [] {COLUMN_NAME, COLUMN_NUMBER, COLUMN_EMAIL, COLUMN_IMG}, null,null,null,null,null);
if(cursor.moveToFirst()){
do{
c = new Contact();
c.setName(cursor.getString(0), null);
c.setNumber(cursor.getString(1));
c.setEmail(cursor.getString(2));
byte [] blob = cursor.getBlob(cursor.getColumnIndex(COLUMN_IMG));
ByteArrayInputStream inputStream = new ByteArrayInputStream(blob);
Bitmap b = BitmapFactory.decodeStream(inputStream);
c.setPicture(b);
contacts.add(c);
}while(cursor.moveToNext());
}
return contacts;
}
知道我做错了什么吗?非常感谢。