Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/192.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 将光标中找到的值输出到logcat?-安卓_Android_Database_Cursor - Fatal编程技术网

Android 将光标中找到的值输出到logcat?-安卓

Android 将光标中找到的值输出到logcat?-安卓,android,database,cursor,Android,Database,Cursor,我正试图自己调试一个问题。如果失败,可以稍后再发布;-) 我的logcat日志状态为“android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为2” 我想使用log.v(“desc”,cursor)来显示光标返回的内容。是否有一种方法可以从游标[0]中指定值?是否在游标上调用了moveToFirst()?或者如果要查找游标在特定时间点的位置,请调用cursor.getPosition() 请看下面的图片 它通常非常冗长,但有时会有所帮助

我正试图自己调试一个问题。如果失败,可以稍后再发布;-)

我的logcat日志状态为“android.database.CursorIndexOutOfBoundsException:请求索引-1,大小为2”


我想使用
log.v(“desc”,cursor)
来显示光标返回的内容。是否有一种方法可以从游标[0]中指定值?

是否在游标上调用了
moveToFirst()

或者如果要查找游标在特定时间点的位置,请调用
cursor.getPosition()

请看下面的图片


它通常非常冗长,但有时会有所帮助。

如果您打算将光标的内容逐行写入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());
}
if(cursor.moveToFirst()){
做{
StringBuilder sb=新的StringBuilder();
int columnsQty=cursor.getColumnCount();

对于(intidx=0;idxAndroid提供了一个专门用于调试游标的类。它被称为

调用该方法以查看光标的内容


此帮助程序为您循环并打印出光标的内容,并将光标返回到其原始位置,这样就不会打乱您的迭代逻辑。

在使用光标之前使用它。moveToFirst()


谢谢,这解决了我的问题。现在进入下一个问题,耶!你是一个明星!“我想用log.v(“desc”,cursor)来显示光标返回的内容。有没有办法从中指定像cursor[0]那样的值?”我想知道你在句子中的意思?你想看到整行数字0(第0行中所有列的值)吗?如果列不是字符串,它可能是int-double?+导入android.database.DatabaseUtils;
Log.v("Cursor Object", DatabaseUtils.dumpCursorToString(cursor))