1

我正在尝试覆盖bindView功能:

import com.mikepenz.materialdrawer.model.PrimaryDrawerItem

open class SpinnerDrawerItem() : PrimaryDrawerItem(), View.OnClickListener {
  override fun bindView(viewHolder: ViewHolder?) {
    super.bindView(viewHolder)
    // Do things
  }
}

PrimaryDrawerItem但我得到:

在此处输入图像描述

为什么?

4

1 回答 1

4

PrimaryDrawerItem.ViewHolderprotected。并且bindView()方法,即public,接受PrimaryDrawerItem.ViewHolder。但是一般的外部调用者不能调用这个方法,因为它不能引用protected嵌套类PrimaryDrawerItem.ViewHolder。Kotlin 禁止此类行为,并要求要么使参数可见性等于方法可见性,要么将参数可见性降低到小于或等于方法可见性。

在您的情况下,您必须做出PrimaryDrawerItem.ViewHolder public或做出PrimaryDrawerItem.bindView()保护。

于 2016-04-19T16:19:37.107 回答