如何在 AndroidX 片段中使用 DataBinding
How to use DataBinding with AndroidX fragment
我正在使用 AndroidX 库,我的片段是扩展 androidx.fragment.app.fragment.Fragment
,它提供了一个结构,我可以在其中简单地提供布局 ID 并跳过重写 onCreateView
函数,如下所示:
class MyFragment (@LayoutRes layout:Int): Fragment(layout){
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
//My View was created correctly.
}
}
现在如何使用 DataBindingUtil 检索绑定对象?
我尝试了 DataBindingUtil.getBinding(view) 和 DataBindingUtil.findBinding(view) 但它们总是 return null。有没有办法不覆盖 onCreateView
?
我刚刚找到了解决方案。它比我想象的更简单:|
class MyFragment (@LayoutRes layout:Int): Fragment(layout){
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
MyFragmentBinding.bind(view)?.let{
//Set binding data here.
}
}
}
我正在使用 AndroidX 库,我的片段是扩展 androidx.fragment.app.fragment.Fragment
,它提供了一个结构,我可以在其中简单地提供布局 ID 并跳过重写 onCreateView
函数,如下所示:
class MyFragment (@LayoutRes layout:Int): Fragment(layout){
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
//My View was created correctly.
}
}
现在如何使用 DataBindingUtil 检索绑定对象?
我尝试了 DataBindingUtil.getBinding(view) 和 DataBindingUtil.findBinding(view) 但它们总是 return null。有没有办法不覆盖 onCreateView
?
我刚刚找到了解决方案。它比我想象的更简单:|
class MyFragment (@LayoutRes layout:Int): Fragment(layout){
override fun onViewCreated(view: View, savedInstanceState: Bundle?) {
super.onViewCreated(view, savedInstanceState)
MyFragmentBinding.bind(view)?.let{
//Set binding data here.
}
}
}