Android 架构组件 - 未触发 Observable
Android Architecture Components - Observable not triggered
我有一个简单的应用程序 运行 架构组件。由于库的最新更新 ("Beta2"),我遇到了一个问题,我的可观察对象没有被触发(在片段中,相同的代码适用于 Activity)
这是一个当前无法运行的示例。
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()
})
}
}
我是不是错过了什么?
感谢您的帮助。
我终于找到了解决上述问题的方法。
由于我们在一个Fragment中,所以我必须使用Activity来观察。 (它应该是 "this" 但目前还没有用。
isDataReady.observe(activity, Observer {
我想这是一个临时修复...
感谢您的帮助
我有一个简单的应用程序 运行 架构组件。由于库的最新更新 ("Beta2"),我遇到了一个问题,我的可观察对象没有被触发(在片段中,相同的代码适用于 Activity)
这是一个当前无法运行的示例。
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()
})
}
}
我是不是错过了什么?
感谢您的帮助。
我终于找到了解决上述问题的方法。
由于我们在一个Fragment中,所以我必须使用Activity来观察。 (它应该是 "this" 但目前还没有用。
isDataReady.observe(activity, Observer {
我想这是一个临时修复...
感谢您的帮助