liangjingkanji / BRV

[使用文档] Android 快速构建 RecyclerView, 比 BRVAH 更简单强大
http://liangjingkanji.github.io/BRV/
MIT License
2.49k stars 317 forks source link

基于原版StickyHeadersLayoutManager,兼容了ConcatAdapter和递归嵌套ConcatAdapter的使用场景 #426

Closed XXQAQ closed 2 months ago

XXQAQ commented 4 months ago

兼容ConcatAdapter使用 兼容ConcatAdapter嵌套ConcatAdapter 同时也支持自定义Adapter 优化了findLastVisibleItemPosition系列的代码,原版代码中重建悬浮Item存在性能问题,所以参照LinearLayoutManager原方法重写对应方法

XXQAQ commented 4 months ago

这是我在项目中的使用案例

{
    adapter = ConcatAdapter(ConcatAdapter.Config.Builder().setIsolateViewTypes(false).build()).apply {
        addAdapter(BindingAdapter().apply {
            addType<String>(R.layout.common_dialog_normal)
            models = arrayListOf("","","")
        })
        addAdapter(ConcatAdapter(ConcatAdapter.Config.Builder().setIsolateViewTypes(false).build()).apply {
            addAdapter(matchAdapter)
            addAdapter(loadStateAdapter)
        })
        addAdapter(BindingAdapter().apply {
            addType<String>(R.layout.coupon_type_item)
            models = arrayListOf("","","","","")
        })
    }
}