Dao code:
@Query("SELECT * FROM word_table WHERE transaction_date BETWEEN :from_date AND :to_date")
fun findTransactionsBetweenDates(from_date: Long, to_date: Long): LiveData<List<Word>>
仓库代码:
public var from_date: Long = 0
public var to_date: Long = 0
val allWordsByDates: LiveData<List<Word>> = wordDao.findTransactionsBetweenDates(from_date, to_date)
@Suppress("RedundantSuspendModifier")
@WorkerThread
suspend fun WordsByDates(from_date:Long, to_date:Long): LiveData<List<Word>> {
return wordDao.findTransactionsBetweenDates(from_date, to_date)
}
我想观察MyMainActivity的allWordsByDates,从那里我通过viewModel用from和to日期调用WordsByDates函数,但是它们从未在存储库中始终保持为0。我试图从WordsByDates函数内部更改from_date和to_date但这是行不通的,我的最后一次尝试是将WordsByDates函数的返回值分配给allWordsByDates,但这也不起作用。任何有关代码的帮助将不胜感激。
列表似乎不是静态的,并且通过选择进行更改,因此我将像这样更改存储库:
private val allWordsByDatesMLD = MutableLiveData<List<Word>>()
val allWordsByDates: LiveData<List<Word>> = allWordsByDatesMLD
@WorkerThread
suspend fun WordsByDates(from_date: Long, to_date: Long) {
allWordsByDatesMLD.postValue(wordDao.findTransactionsBetweenDates(from_date, to_date))
}
这样跟道一起工作
@Query("SELECT * FROM word_table WHERE transaction_date BETWEEN :from_date AND :to_date")
suspend fun findTransactionsBetweenDates(from_date: Long, to_date: Long): List<Word>
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句