1. ホーム
  2. android

CursorIndexOutOfBoundsException:インデックス -1 が要求されました。

2022-02-18 20:25:14

android.database.CursorIndexOutOfBoundsException:Index -1 requested, with size of 1

アンドロイドでデータベースを扱うとき、特にカーソルを使うとき、初期位置に注意してください。これは、添え字が-1で始まるようで、クエリがカーソルに返されたとき、カーソルからすぐに値が抽出されないことを意味します。

例えば、次のコードは、android.database.CursorIndexOutOfBoundsExceptionというエラーを返します。インデックス -1 が要求されましたが、サイズは 0 です。

int score = ((Cursor)getReadableDatabase().query(TABLE_NAME, new String[]{"learned"}, "_id=? ", new String[]{""+id}, null, null,"1")).getInt(0) です。





<スパン 正しい使い方

カーソル cursor = getReadableDatabase().query(TABLE_NAME, new String[]{"learned"}, "_id=? ", new String[]{""+id}, null, null,"1").Cursor (カーソル) = getReadableDatabase().query(Cursor_NAME, new String[] {""+id}, null,null",","); int learned=0; if(cursor.moveToFirst()){。 score= cursor.getInt(0); } cursor.close()を実行します。