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

Mar*_*ina 1 generics android parent-child android-viewbinding

我正在使用 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
}
Run Code Online (Sandbox Code Playgroud)

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

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

ADM*_*ADM 6

它应该是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
}
Run Code Online (Sandbox Code Playgroud)