Skip to content

Latest commit

 

History

History
47 lines (31 loc) · 2.12 KB

header_and_footer.md

File metadata and controls

47 lines (31 loc) · 2.12 KB

通过 ConcatAdapter 实现 header 和 footer

RecyclerView 1.2.0 版本新增了 ConcatAdapter,它可以按顺序将多个 Adapter 连接起来作为一个 Adapter 设置给 RecyclerView

所以借助 ConcatAdapter 我们就可以轻松的实现 header 和 footer,如下:

val headerAdapter: AssemblyRecyclerAdapter = ...
val appAdapter: AssemblyRecyclerAdapter = ...
val footerAdapter: AssemblyRecyclerAdapter = ...

RecyclerView(activity).adapter = ConcatAdapter(headerAdapter, appAdapter, footerAdapter)

// 需要更新 header 或 footer 的时候只需更新相应 adapter 的数据即可,如下:
val headerDataList = listOf(...)
headerAdapter.submitList(headerDataList)

AssemblyAdapter 也为 BaseAdapter、BaseExpandableListAdapter、PagerAdapter、FragmentStatePagerAdapter 提供了专用的 ConcatAdapter 实现(了解更多),因此这些 Adapter 也可以轻的实现 header 和 footer

更多示例