android - 过滤数据库并显示满足 2 个条件的结果
问题描述
我正在尝试过滤我的 sqlite 数据库以仅显示满足多个条件的结果。
override fun onCreateLoader(p0: Int, p1: Bundle?): Loader<Cursor> {
val projection = arrayOf(
WalletEntry._ID,
WalletEntry.KEY_TITLE,
WalletEntry.KEY_LAST_DATE,
WalletEntry.KEY_TRANSACTION_PLACE,
WalletEntry.KEY_LAST_EXPENSE_VALUE,
WalletEntry.KEY_LAST_TRANSACTION_TITLE,
WalletEntry.KEY_VALUE_AFTER,
WalletEntry.KEY_LOCALES,
WalletEntry.KEY_CURRENCY
)
val data = "string" // specified result
val selection = "${WalletEntry.KEY_TITLE} = ?" // AND WalletEntry.KEY_TRANSACTION_PLACE IS NOT NULL
val selectionArgs = arrayOf(data)
return applicationContext?.let { context ->
CursorLoader(context,
WalletEntry.CONTENT_URI,
projection,
selection,
selectionArgs,
null)
}!!
}
我的意思是,在提供的初始化选择的代码中,我想选择标题等于变量data
且列KEY_TRANSACTION_PLACE
不为空的行。
那么,我应该如何更正我的 selection/selectionArgs 以过滤这些结果?
解决方案
你几乎拥有它:
val selection = "${WalletEntry.KEY_TITLE} = ? AND ${WalletEntry.KEY_TRANSACTION_PLACE} IS NOT NULL"
推荐阅读
- reactjs - 状态变量的值丢失 - React
- elasticsearch - 为搜索查询中的术语分配权重的弹性如何?
- python - 使用DataFrame矩阵的相关散点图?
- swift - 在 Xcode 中添加 AdMob
- android - 麻烦交叉编译Python
- amazon-web-services - AWS Amplify - 配置的安全性
- android - 修复底部导航栏在其片段包含协调器布局时不断扩展
- unity3d - 似乎没有为 VisualStudio 设置 RoslynTargetsPath
- javascript - 有没有办法使用防止默认并仍然接收发布请求?
- linux - 如何传递命令行参数