小编Dna*_*kin的帖子

LiveData Transformation未被触发

我订阅idssearch在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)

android-room android-livedata

4
推荐指数
1
解决办法
2141
查看次数

标签 统计

android-livedata ×1

android-room ×1