SQLite getColumnIndex 函数在 Android Studio 中突出显示为错误

问题描述 投票:0回答:2

我最近将 Android Studio 升级到了 Arctic Fox | 2020.3.1 补丁2。每当我使用这段代码时,它都会突出显示为错误(红色下划线).

cursor.getColumncursor.getString(cursor.getColumnIndex(DataContract.WeightEntry.COLUMN_SYNC_STATUS));

高亮代码截图: 在使用 getColumnIndex() 函数的所有地方都可以找到它。

但是,即使代码被高亮显示为错误,编译器也会显示构建成功并且代码运行良好。

问题: 由于红色下划线,导致编码体验不佳。我想知道这是错误还是我的 Android Studio 设置有问题。我尝试过以下步骤:

  • 再次导入项目
  • 使缓存失效并重新启动
  • 删除 .idea 文件夹以重置设置
android android-studio android-sqlite android-studio-arctic-fox
2个回答
2
投票

这是一个已知问题,右键单击并从上下文操作中选择抑制,这将添加

@SuppressLint("Range")
(最简单的修复/绕过)。

我发现在我的场景中,当您在单个表中有大约 10-50 列时添加这些 supresslint 注释是不可行的。该注释会重复很多次。

@Suppress("Range")
可以放置在不同级别的范围内,您还可以使用分析/检查代码并编辑配置文件,例如

然后在警告中找到相应的代码过滤器,例如Range 在这种情况下:-

参考https://developer.android.com/studio/write/lint


0
投票

只需更换

cursor.getColumncursor.getString(cursor.getColumnIndex(DataContract.WeightEntry.COLUMN_SYNC_STATUS));

作为

cursor.getColumncursor.getString(cursor.getColumnIndexOrThrow(DataContract.WeightEntry.COLUMN_SYNC_STATUS));

© www.soinside.com 2019 - 2024. All rights reserved.