在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")的含义就是:忽略警告。文章来源:https://www.toymoban.com/news/detail-560167.html
文章来源地址https://www.toymoban.com/news/detail-560167.html
到了这里,关于Android开发获取数据库数据报错“Value must be ≥ 0 but `getColumnIndex` can be -1”的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!