Releases: drakeet/MultiType
Releases · drakeet/MultiType
4.3.0
- RecyclerView 1.2.1
- Support explicitly register Kotlin primitive types (see #302)
- ViewDelegate : Fix
View.layoutPosition
and removeView.
(see ##315), in the meantime, addadapterPosition
View.holder
,View.absoluteAdapterPosition
andView.bindingAdapterPosition
(see 7dca987) - Remove
ItemViewDelegate.getPosition(viewHolder)
, please useViewHolder.get*Position
instead - 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
Type
forTypes
to hold data - Add
withKotlinClassLinker
forOneToManyEndpoint
- Add
ItemViewBinder#adapterItems
to get or set the items of the associatedMultiTypeAdapter
- Change
MultiTypeAdapter#items
fromList<*>
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
ItemViewBinder
to public (#245) - Change the
payloads
parameter ofItemViewBinder#onBindViewHolder(holder, item, payloads)
to be ofList<Any>
type - Change the
clazz
parameter ofMultiTypeAdapter#register(...)
fromClass<? extends T>
toClass<T>
- Remove
Items
class - Remove
Preconditions
class - Rename
MultiTypePool
toMutableTypes
- Rename
KClassLinker
toKotlinClassLinker
- Rename
ClassLinker
toJavaClassLinker
- 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
Type
forTypePool
to hold data - Add
withKotlinClassLinker
forOneToManyEndpoint
- Add
ItemViewBinder#adapterItems
to get or set the items of the associatedMultiTypeAdapter
- Change
MultiTypeAdapter#items
fromList<*>
toList<Any>
Breaking Changes
- Change all protected methods of
ItemViewBinder
to public (#245) - Change the
payloads
parameter ofItemViewBinder#onBindViewHolder(holder, item, payloads)
to be ofList<Any>
type - Change the
clazz
parameter ofMultiTypeAdapter#register(...)
fromClass<? extends T>
toClass<T>
- Change
MultiTypeAdapter
tofinal
- Remove
Items
class - Remove
Preconditions
class - Rename
MultiTypePool
toArrayTypePool
- Rename
KClassLinker
toKotlinClassLinker
- Rename
ClassLinker
toJavaClassLinker
- 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, *>>)