Я хочу отобразить все строки из базы данных, где строка в указанном столбце пуста (данные не вставлены).Для этого в моем onCreateLoader
я написал следующий код:
override fun onCreateLoader(p0: Int, p1: Bundle?): Loader<Cursor> {
val projection = arrayOf(
WalletEntry._ID,
WalletEntry.KEY_TITLE,
WalletEntry.KEY_MONEY,
WalletEntry.KEY_LAST_DATE,
WalletEntry.KEY_LAST_EXPENSE,
WalletEntry.KEY_LAST_TRANSACTION_TITLE,
WalletEntry.KEY_LOCALES,
WalletEntry.KEY_CURRENCY
)
val selection = "${WalletEntry.KEY_CURRENCY} = ?"
val selectionArgs = arrayOf("")
return applicationContext?.let { context ->
CursorLoader(context,
WalletEntry.CONTENT_URI,
projection,
selection,
selectionArgs,
null)
}!!
}
Где я хочу отобразить все результаты, где WalletEntry.KEY_CURRENCY
не имеет значения со знаком, пусто.Я пытался указать selectionArgs как ноль, но это не сработало.Итак, как мне написать selectionArgs
, чтобы отобразить все результаты, где данная строка пуста?
Чтобы прояснить ситуацию, я приведу цель приложения.Я изучаю kotlin и решил написать что-то вроде «банковского» приложения, в котором можно добавлять разные кошельки и указывать валюты.Если вы добавляете новую валюту, она мгновенно добавляется в базу данных в столбец WalletEntry.KEY_CURRENCY
.Затем у меня есть список, содержащий все «кошельки», в котором после добавления новой валюты появляется пустой дополнительный кошелек.Чтобы избежать этого, я хочу фильтровать результаты и отображать только те, которые не имеют значения, переданного в столбец WalletEntry.CURRENCY
.