【问题标题】:Is there a parent class for every binding class using View Binding?使用 View Binding 的每个绑定类是否都有父类?
【发布时间】:2020-10-18 08:00:46
【问题描述】:

我正在使用 ViewBinding,我正在尝试减少创建片段的代码,片段是一个抽象类并包含以下代码:

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 扩展一个类,并且这个类需要是所有绑定类的父类。

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

【问题讨论】:

标签: android generics parent-child android-viewbinding


【解决方案1】:

应该是ViewBinding。代码 sn-p 应该适用于基本片段。

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
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-10-08
    • 2019-10-26
    • 1970-01-01
    相关资源
    最近更新 更多