ban*_*bob 1 java android exception
我正在创建一个存储日记条目的应用程序.在检索日记条目后,我得到了一个CursorIndexOutOfBoundsException,我相信它与我的SELECT声明有关,以获取数据库中的信息.
getDAO = new DAO(this);
Cursor showDiaryEntries = getDAO.queryDiary(Diary.DiaryItem.FULL_PROJECTION, Diary.DiaryItem.COLUMN_NAME_DIARY_TITLE+" = "+fieldTitle, null);
Long fieldDate = showDiaryEntries.getLong(1);
Long fieldTime = showDiaryEntries.getLong(2);
String fieldEntry = showDiaryEntries.getString(3);
mDate.setText(String.valueOf(fieldDate));
Log.i(TAG,"Field Date "+ fieldDate);
mTime.setText(String.valueOf(fieldTime));
Log.i(TAG,"Field Time "+ fieldTime);
mEntry.setText(fieldEntry);
Log.i(TAG,"Field Entry "+ fieldEntry);
Run Code Online (Sandbox Code Playgroud)
我一直在阅读这种类型的异常并且相信它可能与我获得String/Long时有关,因为我没有循环?虽然我不完全理解这一点.
记录猫
03-07 07:10:59.475: E/AndroidRuntime(1471): FATAL EXCEPTION: main
03-07 07:10:59.475: E/AndroidRuntime(1471): java.lang.RuntimeException: Unable to start activity ComponentInfo{com.democo.mydiary/com.democo.mydiary.DiaryEntryActivity}: android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 1
Run Code Online (Sandbox Code Playgroud)
我希望有人能够教育我这个问题是什么.谢谢
请务必致电:
showDiaryEntries.moveToFirst();
Run Code Online (Sandbox Code Playgroud)
在开始对光标做任何事情之前执行此操作.这将确保光标从数据库的第一行开始!
首先确保您的光标是
*not null
*Then move it to first position
if(showDiaryEntries!=null && showDiaryEntries.moveToFirst())
{
//Now do waht ever u want to do with cursor
}
Run Code Online (Sandbox Code Playgroud)
上面的代码将解决您现在面临的问题以及您将来可能面临的问题。
| 归档时间: |
|
| 查看次数: |
2749 次 |
| 最近记录: |