I created a Trait to combine all common ViewHolder properties in one place.
trait MyHolder extends RecyclerView.ViewHolder {
def view: View = this.itemView
}
Then I wanted to use this trait in my classes like so:
case class MyItemHolder(override val view: View, items: Array[String]) extends MyHolder
Unfortunately it gives me an error.
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
I can get it to compile with this class definition but it seems redundant.
case class MyItemHolder(override val view: View, items: Array[String]) extends RecyclerView.ViewHolder(view) with MyHolder
How can I get rid of RecyclerView.ViewHolder(view)
?