相关疑难解决方法(0)

Kotlin一个类型参数,用于抽象通用视图持有者的类

我正在尝试使用以下内容创建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)

感谢帮助!

android kotlin android-recyclerview

21
推荐指数
1
解决办法
1万
查看次数

标签 统计

android ×1

android-recyclerview ×1

kotlin ×1