본문 바로가기

Android/에러

안드로이드/Android android.database.CursorIndexOutOfBoundsException 에러

안드로이드/Android android.database.CursorIndexOutOfBoundsException 에러




안드로이드 DB 사용 도중에 다음과 같은 에러가 발생하게 되는데요. 원인과 해결책 에 대해 알아보겠습니다.

원인 : cursor의 위치가 처음에 위치하고 있지 않습니다. 값을 가지고 있으나 Position이 잘못된 경우 값을 재대로 가지고 올 수 없습니다.

 
 String URI = "content://arabiannight.tistory.com/phonebook"

 Cursor cursor = getContentResolver().query(Uri.parse(URI), null, null, null, null);

  int phone = cursor.getInt(cursor.getColumnIndex("phone"));


해결책 : cursor.moveToFirst() 를 사용해서 cursor의 위치를 제일 처음으로 바꿔 줍니다.

 
  String URI = "content://arabiannight.tistory.com/phonebook"

 Cursor cursor = getContentResolver().query(Uri.parse(URI), null, null, null, null);

 cursor.moveToFirst();  

 int phone = cursor.getInt(cursor.getColumnIndex("phone"));