如何解决有没有更聪明的方法将布局绑定到片段?
对于一个片段,我有两个 XML 布局。代码必须在它要绑定到的两个布局中的哪一个之间进行选择。目前,这是我的代码。
在这里,我声明了两个布局绑定。
private var bindingVariation: FragmentStartVariationBinding? = null
private var binding: FragmentStartBinding? = null
在 onCreateView 中,代码检查它将绑定到哪个布局。
override fun onCreateView(
inflater: LayoutInflater,container: ViewGroup?,savedInstanceState: Bundle?
): View? {
if(sharedViewModel.discountEnabled.value == true){
val fragmentBinding = FragmentStartVariationBinding.inflate(inflater,container,false)
bindingVariation = fragmentBinding
bindingVariation?.startFragment = this
bindingVariation?.viewModel = sharedViewModel
return fragmentBinding.root
}else{
val fragmentBinding = FragmentStartBinding.inflate(inflater,false)
binding = fragmentBinding
binding?.startFragment = this
return fragmentBinding.root
}
}
这个 hack 目前有效,但如果我想在类中的其他地方调用 binding,我必须每次检查它的 binding 或 bindingVation。
这段代码自然行不通,但很好地说明了我想要实现的目标。
private var binding = setBinding()
fun setBinding(){
var exampleBinding? = null
if(sharedViewModel.discountEnabled.value == true){
return exampleBinding: FragmentStartVariationBinding? = null
}else{
return exampleBinding: FragmentStartBinding? = null
}
}
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。