【发布时间】:2020-11-10 11:06:06
【问题描述】:
我想显示一个点图,其中点的卡路里消耗为 x 坐标,消耗的卡路里为 y 坐标。我在 ViewModel 中检索了两个卡路里,但我想将它们组合成一个 LiveData<List<Pair<Int, Int>>>。这样我就可以在我的片段中观察这个 LiveData 并访问具有 x 和 y 坐标(卡路里)的 Pairs 列表。
这是我的 DAO,我有两个 List<Int> 类型的 liveData:
@Query("SELECT amount from calories_table WHERE strftime('%m-%d-%Y', timestamp, 'unixepoch') IN (SELECT strftime('%m-%d-%Y', timestamp, 'unixepoch') FROM running_table)")
fun getCaloriesConsumedOnRunDays(): LiveData<List<Int>>
@Query("SELECT caloriesBurned FROM running_table")
fun getCaloriesFromRuns():LiveData<List<Int>>
这是我的仓库:
fun getCaloriesConsumedOnRunDays() = runDao.getCaloriesConsumedOnRunDays()
fun getCaloriesFromRuns() = runDao.getCaloriesFromRuns()
最后,我在 ViewModel 中创建了这两个变量来存储两个 liveData:
private val getCaloriesConsumedOnRunDays = mainRepository.getCaloriesConsumedOnRunDays()
private val getCaloriesFromRuns = mainRepository.getCaloriesFromRuns()
【问题讨论】:
标签: kotlin android-livedata mutablelivedata