是否每个使用视图绑定的绑定类都有一个父类



我正在使用ViewBinding,我正在努力减少创建一个Fragment的代码,该Fragment是一个抽象类,包含以下代码:

abstract class MyFragment<T> : Fragment() {

private var binding: T? = null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = getBinding()
return binding.root
}

abstract fun getBinding(): T
}

为了使它工作,我需要使T扩展一个类,并且这个类需要是所有绑定类的父类。

所有生成的绑定类都有一个公共父类?如果是这样的话,那是什么?

它应该是ViewBinding。代码片段应该适用于基本片段。

abstract class BaseFragment<V: ViewBinding> : Fragment(){
private var binding: V? = null
override fun onCreateView(
inflater: LayoutInflater,
container: ViewGroup?,
savedInstanceState: Bundle?
): View? {
binding = getBinding()
return binding?.root
}
abstract fun getBinding(): V
}

相关内容

最新更新