ローカル データベースのテーブルのすべてのエントリを取得しようとすると、次のエラーが発生します。
java.lang.RuntimeException: アクティビティ ComponentInfo を開始できません {com.example.contactappca2/com.example.contactappca2.ViewActivity}: java.lang.IllegalStateException: CursorWindow から行 0、列 0 を読み取れませんでした。Cursor からデータにアクセスする前に、Cursor が正しく初期化されていることを確認してください。
原因: java.lang.IllegalStateException: CursorWindow から行 0、列 0 を読み取れませんでした。Cursor からデータにアクセスする前に、Cursor が正しく初期化されていることを確認してください。
これは、エントリを取得する 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;
}
私が間違っていることは何ですか?どうもありがとう。