我正在尝试自己调试问题。如果我失败,可以稍后发布; - )
我的logcat日志指出"android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 2"
我想使用log.v("desc", cursor)
来显示游标返回的内容。有没有办法像游标[0]那样指定一个值?
答案 0 :(得分:61)
Android提供了一个专门用于调试游标的类。它被称为DatabaseUtils。
调用方法dumpCursorToString()以查看光标内容。
这个助手遍历并打印出Cursor的内容,并将光标返回到原始位置,这样就不会弄乱你的迭代逻辑。
答案 1 :(得分:43)
在cursor.moveToFirst()
Log.v("Cursor Object", DatabaseUtils.dumpCursorToString(cursor))
答案 2 :(得分:10)
如果您打算逐行将游标内容写入logcat,可以使用如下代码:
if (cursor.moveToFirst()) {
do {
StringBuilder sb = new StringBuilder();
int columnsQty = cursor.getColumnCount();
for (int idx=0; idx<columnsQty; ++idx) {
sb.append(cursor.getString(idx));
if (idx < columnsQty - 1)
sb.append("; ");
}
Log.v(TAG, String.format("Row: %d, Values: %s", cursor.getPosition(),
sb.toString()));
} while (cursor.moveToNext());
}
答案 3 :(得分:5)
你有没有在Cursor上调用moveToFirst()
?
答案 4 :(得分:0)