Android开发获取数据库数据报错“Value must be ≥ 0 but `getColumnIndex` can be -1”

       在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")的含义就是:忽略警告。

猜你喜欢

转载自blog.csdn.net/qq_62079241/article/details/127050223