Я видел интересную реализацию держателя просмотра в этом твите https://twitter.com/AndroidDev/status/972502799496790018
override fun onBindViewHolder(holder: SealedAdapterViewHolder, position: Int) {
return when (holder) {
is HeaderHolder -> holder.displayHeader(items[position])
is DetailsHolder -> holder.displayDetails(items[position])
}
}
К сожалению, я не могу понять, как реализовать держатели домов. И я не нашел никаких примеров этого трюка.
В моих видоискателях я должен расширить RecyclerView.ViewHolder, и я должен расширить запечатанный класс, чтобы я мог использовать его в «условиях когда». Множественное наследство не допускается.
Так возможно ли это, и если да, то как?
P.S.
первоначальные авторы пишут так:
Вы также можете использовать запечатанные классы в адаптере RecyclerView. Они идеально подходят для ViewHolder — с чистым набором типов для явной отправки каждому держателю. При использовании в качестве выражения компилятор выдаст ошибку, если все типы не совпадают.