【发布时间】:2021-06-01 04:34:56
【问题描述】:
我正在尝试通过发送 category_id 来控制片段中的 ViewModel 并将其传递到由 Hilt 注入的存储库。 但是 ViewModel 看不到 init 块之外的存储库。我错过了什么?
@HiltViewModel
class ProjectViewModel @Inject constructor(
repository: ScienceTrackerRepository
) : ViewModel() {
private val _flow = MutableStateFlow(LoadUiState.Success(emptyList()))
val flow: StateFlow<LoadUiState> = _flow.asStateFlow()
fun loadProjects(categoryId: Int) {
viewModelScope.launch {
repository.getProjects(categoryId) // unresolved reference "repository"
repository.flowProjects.collect { feed ->
_flow.value = LoadUiState.Success(feed)
}
}
}
init {
viewModelScope.launch {
repository.getProjects(0)
repository.flowProjects.collect { feed ->
_flow.value = LoadUiState.Success(feed)
}
}
}
}
【问题讨论】:
标签: android kotlin android-viewmodel dagger-hilt