《第一行代码》第二版中使用SQLite查询时,cursor.getColumnIndex(“author“)报错 Value must be ≥ 0

结合函数声明:

String getString(@IntRange(from = 0) int columnIndex);
可以知道getString方法要求一个int类型的参数,且要求该最小为0

getColumnIndex的声明:

@IntRange(from = -1) int getColumnIndex(String columnName);
很明显它的返回值是从-1开始的

解决方法

在实际开发过程中,为了防止自己因疏忽而导致程序抛出异常甚至崩溃,建议采用方法1;如果你跟我一样是在学习过程中,想跑一个例子来加深体验,建议采用方法2,更简单。

我们发现当把getColumnIndex提前声明一个工作变量来装配他的时候,这个报错消失了。

2:判断这个值是否大于等于0,如果是,则照常写,此时不会报错;

如果不是,则不能写这条语句。

《第一行代码》第二版中使用SQLite查询时,cursor.getColumnIndex(“author“)报错 Value must be ≥ 0

我们发现当把getColumnIndex提前声明一个工作变量来装配他的时候,这个报错消失了。

3:添加如下注解

@SuppressLint(“Range”)
@SuppressLint标注可以忽略指定的警告(项目开发不建议)

参考文献:https://blog.csdn.net/weixin_51395622/article/details/121911873

Original: https://blog.csdn.net/s1759352373/article/details/123644153
Author: 神乐条一
Title: 《第一行代码》第二版中使用SQLite查询时,cursor.getColumnIndex(“author“)报错 Value must be ≥ 0

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/815466/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球