MultiType icon indicating copy to clipboard operation
MultiType copied to clipboard

Flexible multiple types for Android RecyclerView.

Results 12 MultiType issues
Sort by recently updated
recently updated
newest added

在ItemBinder外可以实现删除。 在内部引用的adapter.items和adapterItems 都是不可编辑的类型。在内部无法实现自我删除功能

请问 Demo中 BilibiliActivity 中嵌套的横向 PostAdapter 可以是 MultiTypeAdapter 吗? 也就是 垂直的 recyclerview 使用 MultiTypeAdapter 然后有一种类型是横线嵌套的 多类型 也使用 MultiTypeAdapter

What kind of issue is this? - [ ] Question. This issue tracker is not the place for questions. If you want to ask how to do something, or to...

What kind of issue is this? - [ ] Question. This issue tracker is not the place for questions. If you want to ask how to do something, or to...

我想结合paging3与MultiType一起使用,但是自定义Adapter上一直找不到很好的方案; 现在我的想法是把MultiTypeAdapter中Types的处理整理成了一个MultiTypeDelegate接口,基于这个接口再自定义adapter; 这样只要ViewDelegate不使用adapter与adapterItems,就可以较低成本的接收PagingData再用MultiType加载。 所以尝试提了这个PR。 ```kotlin abstract class MultiPagingDataAdapter( diffCallback: DiffUtil.ItemCallback, initialCapacity: Int = 0, override val types: Types = MutableTypes(initialCapacity), ) : PagingDataAdapter(diffCallback), MultiTypeDelegate { override fun getItemViewType(position: Int): Int...

Rename ItemViewBinder to ViewHolderInflater, and ItemViewDelegate to ViewHolderDelegate, then make ItemViewBinder a typealias for ViewHolderInflater, ItemViewDelegate a typealias for ViewHolderDelegate.

todo

在 ConcatAdapter 中,MultiTypeAdapter 通过 ```kotlin types.getType(viewHolder.itemViewType) ``` 在某些情况下会导致崩溃,出现数组越界,因为获得的 `viewHolder.itemViewType` 并不稳定,不会与 `getItemViewType()`返回值一一对应。 必须将 ConcatAdapter 配置中的 `isolateViewTypes ` 参数设置为`false`(其默认值为 true)。但是设置为`false`之后,就会导致 ConcatAdapter 中所有 子`Adapter` 的 `ViewHolder`公用一个池子,不进行内部隔离。那这种就需要使用者,手动保持 每一个子`Adapter`中 `getItemViewType()`返回值的唯一性。 个人认为,`ConcatAdapter` 默认会进行 `ViewHolder`的 itemType 隔离,那可能内部对`ItemViewType`进行了某种操作

Types接口允许根据Type接口直接注册类型与其ViewBinder,但Type接口的定义中允许设置一个linker来支持oneToMany的一数据类型对应多个ViewBinder的场景 但MultiTypeAdapter的registerAll方法实现中,在对添加到Types中的每一个Type的处理时,会先将在此之前注册的该数据类型的Type移除,这过程中可能也会移除在Types中OneToMany的Type

SmartRefreshView + Multitype使用没有问题,数据可以正常加载。 ViewPager2 + Multitype使用没有问题,数据可以正常加载。 ViewPager2 + SmartRefreshView + Multitype使用就会出现重复加载的问题,严重时会出现死循环不停加载。 SmartRefreshView + Multitype 使用 ![image](https://user-images.githubusercontent.com/19201565/110471316-f5eac700-8116-11eb-81ca-6821d7e638e2.png) ![image](https://user-images.githubusercontent.com/19201565/110471404-0e5ae180-8117-11eb-808f-c6522ff60f22.png) ViewPager2 + SmartRefreshView + Multitype使用 ![image](https://user-images.githubusercontent.com/19201565/110471503-2af71980-8117-11eb-8563-5ae2978e0e54.png) ![image](https://user-images.githubusercontent.com/19201565/110471541-35b1ae80-8117-11eb-9d5e-944279d7a358.png)