【发布时间】:2022-09-27 18:47:45
【问题描述】:
我的任务是从 RecyclerView 获取带有提供标题的整篇文章。 当我单击特定文章时,我会从中获得标题。
房间数据库:
@Query(\"SELECT * FROM article_table WHERE title = :title\")
fun getArticleDetails(title: String): Flow<ArticleLocal>
存储库:
fun getArticleDetails(title: String): Flow<ArticleLocal> {
return articleDao.getArticleDetails(title)
}
视图模型:
val articleDetail = MutableStateFlow<ArticleLocal>(ArticleLocal(\"\",\"\",\"\",\"\",\"\"))
fun getArticle(title: String) {
viewModelScope.launch {
articleRepository.getArticleDetails(title).collect {
articleDetail.emit(it)
}
}
}
主要活动:
lifecycleScope.launch {
viewModel.getArticle(title)
viewModel.articleDetail.collect {
Log.d(TAG, \"onCreate: $it\")
}
}
这段代码的问题是第一次接触时 articleDetail 给了我空的 ArticleLocal 例如title = \"\" 我在 ViewModel 中定义的,后来我得到了很好的结果。
标签: android kotlin android-room kotlin-coroutines kotlin-flow