我正在尝试自己调试问题。如果我失败了可以稍后发布;-)
我的 logcat 日志状态"android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 2"
我想log.v("desc", cursor)
用来显示光标返回的内容。有没有办法像 cursor[0] 一样从中指定一个值?
我正在尝试自己调试问题。如果我失败了可以稍后发布;-)
我的 logcat 日志状态"android.database.CursorIndexOutOfBoundsException: Index -1 requested, with a size of 2"
我想log.v("desc", cursor)
用来显示光标返回的内容。有没有办法像 cursor[0] 一样从中指定一个值?
Android 提供了一个专门用于调试 Cursors 的类。它被称为DatabaseUtils。
调用方法dumpCursorToString()来查看光标的内容。
这个助手循环并为你打印出光标的内容,并将光标返回到它的原始位置,这样它就不会弄乱你的迭代逻辑。
以前用这个cursor.moveToFirst()
Log.v("Cursor Object", DatabaseUtils.dumpCursorToString(cursor))
如果您打算将游标的内容逐行写入 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());
}
你应该调用moveToFirst()
Cursor。