Releases: drakeet/MultiType
Releases · drakeet/MultiType
4.3.0
- RecyclerView 1.2.1
- Support explicitly register Kotlin primitive types (see #302)
- ViewDelegate : Fix
View.layoutPositionand removeView.(see ##315), in the meantime, addadapterPositionView.holder,View.absoluteAdapterPositionandView.bindingAdapterPosition(see 7dca987) - Remove
ItemViewDelegate.getPosition(viewHolder), please useViewHolder.get*Positioninstead - Add two new experimental alias classes:
- ViewHolderDelegate: ItemViewDelegate
- ViewHolderInflater: ItemViewBinder
4.2.0
4.1.1
4.1.0
4.0.0
Features
- Migrate to Kotlin (#253)
- Migrate to new group
com.drakeet.multitype:multitype:4.0.0

- Add a new reified
MultiTypeAdapter#register(ItemViewBinder) - Add a new class
TypeforTypesto hold data - Add
withKotlinClassLinkerforOneToManyEndpoint - Add
ItemViewBinder#adapterItemsto get or set the items of the associatedMultiTypeAdapter - Change
MultiTypeAdapter#itemsfromList<*>toList<Any> - Fix duplicate library_release.kotlin_module (#284)
- AndroidX Annotation 1.1.0
- Kotlin 1.3.50
Breaking Changes
- Change all protected methods of
ItemViewBinderto public (#245) - Change the
payloadsparameter ofItemViewBinder#onBindViewHolder(holder, item, payloads)to be ofList<Any>type - Change the
clazzparameter ofMultiTypeAdapter#register(...)fromClass<? extends T>toClass<T> - Remove
Itemsclass - Remove
Preconditionsclass - Rename
MultiTypePooltoMutableTypes - Rename
KClassLinkertoKotlinClassLinker - Rename
ClassLinkertoJavaClassLinker - Rename
OneToManyEndpoint#withKClassLinker(...)method towithKotlinClassLinker - Rename
OneToManyEndpoint#withClassLinker(...)method towithJavaClassLinker
v4.0.0-alpha2
This migrates MultiType to Kotlin (#253)
Features
- Add a new reified
MultiTypeAdapter#register(ItemViewBinder) - Add a new class
TypeforTypePoolto hold data - Add
withKotlinClassLinkerforOneToManyEndpoint - Add
ItemViewBinder#adapterItemsto get or set the items of the associatedMultiTypeAdapter - Change
MultiTypeAdapter#itemsfromList<*>toList<Any>
Breaking Changes
- Change all protected methods of
ItemViewBinderto public (#245) - Change the
payloadsparameter ofItemViewBinder#onBindViewHolder(holder, item, payloads)to be ofList<Any>type - Change the
clazzparameter ofMultiTypeAdapter#register(...)fromClass<? extends T>toClass<T> - Change
MultiTypeAdaptertofinal - Remove
Itemsclass - Remove
Preconditionsclass - Rename
MultiTypePooltoArrayTypePool - Rename
KClassLinkertoKotlinClassLinker - Rename
ClassLinkertoJavaClassLinker - Rename
OneToManyEndpoint#withKClassLinker(...)method towithKotlinClassLinker - Rename
OneToManyEndpoint#withClassLinker(...)method towithJavaClassLinker
v3.5.0
v3.4.4
kotlin-v3.4.2-beta1
Added library-kotlin module for Kotlin support (#198)
MultiTypeAdapter
- Added
register(binder: ItemViewBinder<T, *>) - Added
register(clazz: KClass<out T>, binder: ItemViewBinder<T, *>) - Added
register(clazz: KClass<out T>): OneToManyFlow<T>
TypePool
- Added
register(clazz: KClass<out T>, binder: ItemViewBinder<T, *>, linker: Linker<T>) - Added
unregister(clazz: KClass<out T>) - Added
firstIndexOf(clazz: KClass<out T>)
OneToManyEndpoint
- Added
withKClassLinker(classLinker: KClassLinker<T>) - Added
withKClassLinker(classLinker: (position: Int, t: T) -> KClass<out ItemViewBinder<T, *>>)