我订阅ids并search在ui中,但我没有得到任何结果,所以我介入调试器,发现转换没有在第一次触发后触发.所以当我setIds第一次调用时ids会更新但是对于第一次调用之后的每次调用都不会触发转换.同样适用于search.
什么可能出错的想法?
class MyViewModel : ViewModel() {
private val repository = Repository.sharedInstance
var recentRadius: LiveData<List<RecentRadius>>?
var recentRoute: LiveData<List<RecentRoute>>?
init {
recentRadius = repository.recentRadius()
recentRoute = repository.recentRoute()
}
private val idsInput = MutableLiveData<String>()
fun setIdsInput(textId: String) {
idsInput.value = textId
}
val ids: LiveData<List<String>> = Transformations.switchMap(idsInput) { id ->
repository.ids(id)
}
private val searchInput = MutableLiveData<Search>()
fun setSearchInput(search: Search) {
searchInput.value = search
}
val search: LiveData<SearchResult> = Transformations.switchMap(searchInput) { search …Run Code Online (Sandbox Code Playgroud)