我正在尝试使用以下内容创建RecyclerView.Adapter:
abstract class BaseSettingsViewHolder<T>(var viewDataBinding :
ViewDataBinding) : RecyclerView.ViewHolder(viewDataBinding.root) {
abstract fun onBind(data: T, presenter: ISettingsPresenter, position: Int)
}
Run Code Online (Sandbox Code Playgroud)
class SettingsTitleViewHolder(viewDataBinding: ViewDataBinding) : BaseSettingsViewHolder<TitleData>(viewDataBinding) {
override fun onBind(data: TitleData, presenter: ISettingsPresenter, position: Int) {
viewDataBinding.setVariable(BR.titleData, data)
viewDataBinding.setVariable(BR.itemPosition, position)
viewDataBinding.setVariable(BR.settingsPresenter, presenter)
viewDataBinding.executePendingBindings()
}
}
Run Code Online (Sandbox Code Playgroud)
并在尝试声明适配器时:
class SettingsAdapter(var context: Context, var presenter: ISettingsPresenter) : RecyclerView.Adapter<BaseSettingsViewHolder>() {
Run Code Online (Sandbox Code Playgroud)
我得到了"期望类的一个类型参数"编译错误:
RecyclerView.Adapter<BaseSettingsViewHolder>
Run Code Online (Sandbox Code Playgroud)
感谢帮助!