使用PagedListAdapter / PagedList添加列表节标题

时间:2019-03-27 12:36:48

标签: android android-paging

我想使用android.arch.paging组件在列表的标题。

enter image description here

通常,这很容易,只需为RecyclerView适配器添加不同的类型即可处理并从包含标头的项目创建新列表。

但是,有了分页组件,我实际上是从PagedList查询中将PositionalDataSourceSQL传递出去。是否可以中断此操作并添加标头类型?

1 个答案:

答案 0 :(得分:1)

我最终如何为有兴趣的人解决这个问题。

在绑定我在上一项中传递的数据时,

  override fun onBindViewHolder(holder: ViewHolder, position: Int) {
    val item = getItem(position)
    val previousItem = if (position == 0) null else getItem(position - 1)
    holder.bind(item, previousItem)
  }

然后每个视图都设置一个标题,只有在上一项没有相同的标题时,该标题才可见。

    val previousHeader =  previousItem?.name?.capitalize().first()
    val header = item?.name?.capitalize()?.first()
    view.cachedContactHeader.text = header
    view.cachedContactHeader.isVisible  = previousHeader != header