Android getColumName 和 getColumnIndex

标签 android sqlite

我是 android 新手,我的光标有问题。我无法使用以下方式访问数据: cursor.get(cursor.getColumnIndex(columnName));

我尝试了以下代码来测试错误:

while (cursor.moveToNext()) {
        int x = 2;
        Log.i("MyDebug", "Index: " + x);
        Log.i("MyDebug", "Name: " + cursor.getColumnName(x));
        Log.i("MyDebug", "Index again: " + cursor.getColumnIndex(cursor.getColumnName(x)));
    }

调试监视器的结果:

Index: 2 
Name: mainMenu.title 
Index again: -1

“再次索引”的结果不应该是2吗?我做错了什么?

最佳答案

cursor.getColumnIndex() 需要列的名称,没有表的名称:

cursor.getColumnIndex("mainMenu.title"); // -1
cursor.getColumnIndex("title"); // 2

关于Android getColumName 和 getColumnIndex,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4511894/

相关文章:

android - 从线程内部调用 setListAdapter()

android - 在 gradle 中添加 espresso-contrib 库后,Espresso 测试未运行

android - 如何在 Android 中通过 1/4"电缆从连接到 3.5mm 音频插孔的乐器捕获音频信号?

android - 如何在单独的线程中调用 startActivityForResult() 和 onResultActivity()?

Android - 如何在图库中保存照片

sqlite - 尝试使用 ExecuteScalar<object> 从表中检索数据时出错?

python - 问题 cursor.description 从不返回列名称中的方括号(python 2.7 + sqlite3)别名

sql - golang sqlite 无法定义查询变量

java - 我想从数据库中检索值而不使用 ListView 并显示在 TextView 字段中

php - SQLite3 PHP "Update"- 准备好的查询的结果