Android开发获取数据库数据报错“Value must be ≥ 0 but `getColumnIndex` can be -1”
Android开发‘Value must be ≥ 0 but ‘报错
·
在Android开发中,获取自带数据库(SQLite) 中的数据时,会使用Cursor.getColumnIndex()循环获取每一列数据,但是直接写上去会给你报错,我们打开Build查看报错,会叫你修改下面的报错代码。
Value must be ≥ 0 but `getColumnIndex` can be -1” 翻译一下”valuse的值必须大于等于0,但是getColumnIndex又可以是-1“。
点击这个函数,查看源码。从这里可以看出,它的返回值-1, 自然也就报错了。然后在它的下面看见跟他很相似,也就是 getColumnIndexOrThrow(),根据前面的提示,得出它是从0开始的。
然后使用这个方法试一试,最终的结果是不会产生报错提示,能够读取数据。
除此之外,还可以使用‘@SuppressLint("Range")’,@SuppressLint("Range")的含义就是:忽略警告。
更多推荐
已为社区贡献1条内容
所有评论(0)