快速提问,我有一个listview,它是通过AsyncTask从数据库中填充的。我使用if语句来决定从哪个db方法获取游标。 db方法在asynctask之外工作得很好,但只有在日志代码存在时才能在asynctask内部工作。
if (i == 1) {
c = cdb.getFive();
Log.d("TAG5", DatabaseUtils.dumpCursorToString(c));
}
有效,但
if (i == 1) {
c = cdb.getFive();
//Log.d("TAG5", DatabaseUtils.dumpCursorToString(c));
}
不起作用。有什么想法吗?
编辑 - 该代码位于doInBackground()
答案 0 :(得分:1)
在从c.moveToFirst()
读取任何数据之前,您应该调用Cursor
方法。
实际上,方法DatabaseUtils.dumpCursorToString()
会调用方法moveToPosition()
。你的代码使用日志记录的原因是什么,没有它就无法工作。