Вот код моего интерфейса DAO:
Код: Выделить всё
@Query("SELECT * FROM expense_table ORDER BY category ASC")
fun getAllExpenses(): Flow
@Query("SELECT DISTINCT category FROM expense_table ORDER BY category ASC")
fun getAllCategories(): Flow
Я пытался найти, как решить эту проблему, но не нашел решения. Чего и следовало ожидать, поскольку это настолько простой запрос, что я уверен, что просто делаю что-то невероятно глупое и упускаю из виду это.
Вот мои другие коды, я в основном просто скопировал код getAllExpenses, поэтому я думаю, что проблема в DAO, поскольку он единственный, который отличается, но я не уверен.
Репозиторий:
Код: Выделить всё
fun getAllExpenses() = expenseDao.getAllExpenses()
fun getAllCategories() = expenseDao.getAllCategories()
Код: Выделить всё
var expenseRepository: ExpenseRepository
private val _expenseList = MutableStateFlow(emptyList())
val expenseList: StateFlow get() = _expenseList
private val _categoryList = MutableStateFlow(emptyList())
val categoryList: StateFlow get() = _categoryList
init {
expenseRepository = ExpenseRepository(expenseDatabase.expenseDao())
viewModelScope.launch {
expenseRepository.getAllExpenses().collect { expenses ->
_expenseList.value = expenses
}
expenseRepository.getAllCategories().collect { categories ->
_categoryList.value = categories
}
}
}
Код: Выделить всё
...
composable(route = AppScreen.TEST_SCREEN.name) {
val list by viewModel.expenseList.collectAsState()
val catList by viewModel.categoryList.collectAsState()
TestScreen(list, catList)
}
Подробнее здесь: https://stackoverflow.com/questions/798 ... empty-list
Мобильная версия