0
이 코드에서 오류가 계속 발생합니다. 연락처를 데이터베이스에 저장하는 방법을 알고 있습니다. 왜냐하면 내가 cdata/cdata2를 꺼내서 문자열을 넣으면 잘 작동하기 때문입니다. 어떤 도움을 주시면 감사하겠습니다.앱 데이터베이스에 연락처 저장 CursorIndexOutOfBoundsException
연락처의 문자열을 허용하도록 변환하려면 어떻게해야합니까?
switch (item.getItemId()) {
case 1:
//Save current contact to stash database
Cursor phones2 = getContentResolver().query(ContactsContract.CommonDataKinds.Phone.CONTENT_URI,null,null,null, null);
String cdata = phones2.getString(phones2.getColumnIndex(ContactsContract.CommonDataKinds.Phone.DISPLAY_NAME));
String cdata2 = phones2.getString(phones2.getColumnIndex(ContactsContract.CommonDataKinds.Phone.NUMBER));
ContentValues values=new ContentValues(2);
values.put(DatabaseHelper.NAME, cdata);
values.put(DatabaseHelper.cALUE, cdata2);
db.getWritableDatabase().insert("constants", DatabaseHelper.NAME, values);
constantsCursor.requery();
//Refresh contact list
Intent refresh = new Intent(this, MainTab.class);
startActivity(refresh);
this.finish();
return(true);
case 2:
//uncoded option
Toast.makeText(this, "here is the info", Toast.LENGTH_SHORT).show();
}
ERROR : android.database.CursorIndexOutOfBoundsException이 커서가 준비되지 않습니다 전화없이 지수는 -1, 당신은 Cursor.moveToFirst()를 호출하는 것을 잊었다 2
예처럼 시도하지만 그냥 "CDATA"문자열이 커서의 첫 번째 위치를 당겨 수 있습니다. 목록의 위치와 일치해야합니다. – LuisCamarena
호출 할 수있는 커서와 목록 위치를 일치 시키려면 phones2.moveToPosition (int) – iago