1

我的目标是用至少两种不同类型的数据填充回收站视图。回收器视图的第一项是另一个可以水平滚动的回收器视图。其余项目可以垂直滚动。数据由房间数据库支持,作为由网络数据支持的单一事实来源。我查看了 android 官方示例和代码实验室。但无法理解如何为多个视图创建分页列表以及如何通过 PagedListAdapter 显示它们。如果我不够清楚,请询问有关该部分的问题。图片样本:https ://i.stack.imgur.com/6wZ7j.png

4

1 回答 1

1

我相信你让问题复杂化了。寻呼机适配器可以帮助您进行主要寻呼,“水平”recyclerview 是一个完全不同的 RV,它有自己的适配器(我确定它也可以用作寻呼机 - 没有尝试过 -)。

您有一个Things传递给主 RV 适配器的列表。

给定一个Thing看起来像:

data class Things(val type: Int = 0, val name: String);

您的适配器的回调...

override fun onCreateViewHolder(parent: ViewGroup, viewType: Int)...

得到一个viewType.

所以你可能会覆盖

   override fun getItemViewType(position: Int): Int {
       return getItem(position).type
   }

所以想象你的 onCreateViewHolder 现在看起来像

val inflater = LayoutInflater.from(parent.context)
return when (viewType) {
     0 -> BigViewHolderThatHasAnotherRecyclerViewInsideGoodLuckWithThat()
     1 -> NormalViewHolderForAllTheOtherRows()
}

或者类似的...

所以......你的问题在哪里?:)

于 2020-08-06T11:43:11.743 回答