【发布时间】:2017-02-21 10:23:44
【问题描述】:
我创建了一个 Trait 来将所有常见的 ViewHolder 属性组合在一个地方。
trait MyHolder extends RecyclerView.ViewHolder {
def view: View = this.itemView
}
然后我想像这样在我的课程中使用这个特性:
case class MyItemHolder(override val view: View, items: Array[String]) extends MyHolder
不幸的是,它给了我一个错误。
Not enough arguments for constructor ViewHolder: (x$1: android.view.View)android.support.v7.widget.RecyclerView.ViewHolder.
[error] Unspecified value parameter x$1.
[error] case class MyItemHolder(override val view: View, items: Array[String]) extends MyHolder
我可以用这个类定义编译它,但它似乎是多余的。
case class MyItemHolder(override val view: View, items: Array[String]) extends RecyclerView.ViewHolder(view) with MyHolder
我怎样才能摆脱RecyclerView.ViewHolder(view)?
【问题讨论】:
标签: android scala inheritance traits