我正在尝试覆盖bindView
功能:
import com.mikepenz.materialdrawer.model.PrimaryDrawerItem
open class SpinnerDrawerItem() : PrimaryDrawerItem(), View.OnClickListener {
override fun bindView(viewHolder: ViewHolder?) {
super.bindView(viewHolder)
// Do things
}
}
来自PrimaryDrawerItem,但我得到:
为什么?
答案 0 :(得分:4)
PrimaryDrawerItem.ViewHolder
是protected
。 bindView()
方法public
接受PrimaryDrawerItem.ViewHolder
。但是一般的外部调用者无法调用此方法,因为它无法引用protected
嵌套类PrimaryDrawerItem.ViewHolder
。 Kotlin禁止此类行为,并要求使参数可见性等于方法可见性,或者要求将参数可见性降低到小于或等于方法可见性。
在您的情况下,您必须PrimaryDrawerItem.ViewHolder
public
或使PrimaryDrawerItem.bindView()
受到保护。