我是一个运行Architecture Components的简单应用程序。自从库的最新更新(" Beta2")以来,我的observable没有被触发的问题(在片段中,相同的代码适用于活动)
以下是目前无效的示例。
class SampleFragment : Fragment() {
private var isDataReady = MutableLiveData<Boolean>()
private val registry = LifecycleRegistry(this)
override fun getLifecycle(): LifecycleRegistry = registry
override fun onCreateView(inflater: LayoutInflater, container: ViewGroup?,
savedInstanceState: Bundle?): View? {
return inflater.inflate(R.layout.fragment_main2, container, false)
}
override fun onViewCreated(view: View?, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
fab.setOnClickListener { _ ->
isDataReady.postValue(true)
}
isDataReady.observe(this, Observer {
Snackbar.make(fab, "Hello!", Snackbar.LENGTH_LONG).show()
})
}
}
我错过了什么吗?
感谢您的帮助。
答案 0 :(得分:0)
我终于找到了解决上述问题的方法。
由于我们处于片段中,我必须使用Activity来观察。 (它应该是“这个”,但它到目前为止还不起作用。
isDataReady.observe(activity, Observer {
我想这是暂时的修复...
感谢您的帮助