livedata中的函数观察器不起作用

问题描述

我正在尝试使用Post方法(改造)从Api获得响应。但是观察者不起作用。我不明白这个错误。即使我在登录活动中实现了它,它仍然有效。不同之处在于这是在片段中完成的。 \ n您能帮我吗?

注意:我将KOIN用于DI。我尝试使用viewModel()和shareViewModel()初始化viewmodel。但他们没什么不同

在这里附上代码片段: Fragment.kt

viewModel.getKpp()?.observe(viewLifecycleOwner,Observer<KppResponse> {kpp ->
                progress_bar_kpp.visibility = View.GONE             //don't work from here
                if (kpp.status == "false"){
                    tv_data_not_found.visibility = View.VISIBLE
                } else {
                    kppAdapter.setKpp(kpp.data)
                    kppAdapter.notifyDataSetChanged()
                }                                                   //up to here

            })

            with(rv_kpp){
                layoutManager = LinearLayoutManager(activity)
                setHasFixedSize(true)
                adapter = kppAdapter
            }

ViewModel.kt:

fun getKpp(): LiveData<KppResponse>? = dataRepository.getKppPost(nip,jabatan,unit)

Repository.kt:

override fun getKgbPost(nip: String,jabatan: String,unit: String): LiveData<KgbResponse>? {
    val kgbResult = MutableLiveData<KgbResponse>()
    remoteDatasource.getDataKgbPost(object : RemoteDatasource.KgbPostCallback{
        override fun onResponse(kgb: KgbResponse?) {
            kgbResult.postValue(kgb)
        }

        override fun throwable(t: Throwable) {
            if (t.localizedMessage != null) {
                Timber.e(t.localizedMessage!!)
            }
        }

    },nip,unit)
    return kgbResult
}

,在logcat中,我看到“ POST”成功。并提供以下响应: Screenshot Response in Logcat

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)

相关问答

依赖报错 idea导入项目后依赖报错,解决方案:https://blog....
错误1:代码生成器依赖和mybatis依赖冲突 启动项目时报错如下...
错误1:gradle项目控制台输出为乱码 # 解决方案:https://bl...
错误还原:在查询的过程中,传入的workType为0时,该条件不起...
报错如下,gcc版本太低 ^ server.c:5346:31: 错误:‘struct...