相关疑难解决方法(0)

如何在Kotlin中使用密封类实现ViewHolder

我在此推文中看到了一个有趣的Viewholder实现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])
  }
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,我不知道如何实施thouse持有人。而且我没有找到这个技巧的任何例子。

在我的视图持有者中,我必须扩展RecyclerView.ViewHolder,并且必须扩展密封类,以便可以在“ when子句”中使用它。不允许多次骚扰。

这样有可能吗?

聚苯乙烯

原始作者这样写:

您还可以在RecyclerView适配器中使用密封类。它们非常适合ViewHolders-具有一组清晰的类型可以显式分配给每个所有者。用作表达式时,如果所有类型都不匹配,则编译器将出错。

android sealed kotlin android-recyclerview

2
推荐指数
1
解决办法
1187
查看次数

标签 统计

android ×1

android-recyclerview ×1

kotlin ×1

sealed ×1