MultiType Versions Save

Flexible multiple types for Android RecyclerView.

4.3.0

2 years ago
  • RecyclerView 1.2.1
  • Support explicitly register Kotlin primitive types (see #302)
  • ViewDelegate : Fix View.layoutPosition and remove View.adapterPosition (see ##315), in the meantime, add View.holder, View.absoluteAdapterPosition and View.bindingAdapterPosition (see https://github.com/drakeet/MultiType/commit/7dca987d8b56fa1dc34636f9d59653e4e99e75a8)
  • Remove ItemViewDelegate.getPosition(viewHolder), please use ViewHolder.get*Position instead
  • Add two new experimental alias classes:
    • ViewHolderDelegate: ItemViewDelegate
    • ViewHolderInflater: ItemViewBinder

4.2.0

4 years ago
  • Add ViewDelegate that does not require ViewHolder (#296)

4.1.1

4 years ago
  • Fix binary incompatibility about ItemViewBinder (#294)

4.1.0

4 years ago
  • Kotlin 1.3.61
  • Add ItemViewDelegate & onCreateViewHolder(context, _) (#292)

4.0.0

4 years ago

Features

  • Migrate to Kotlin (#253)
  • Migrate to new group com.drakeet.multitype:multitype:4.0.0 Migrate to new group
  • Add a new reified MultiTypeAdapter#register(ItemViewBinder)
  • Add a new class Type for Types to hold data
  • Add withKotlinClassLinker for OneToManyEndpoint
  • Add ItemViewBinder#adapterItems to get or set the items of the associated MultiTypeAdapter
  • Change MultiTypeAdapter#items from List<*> to List<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 of ItemViewBinder#onBindViewHolder(holder, item, payloads) to be of List<Any> type
  • Change the clazz parameter of MultiTypeAdapter#register(...) from Class<? extends T> to Class<T>
  • Remove Items class
  • Remove Preconditions class
  • Rename MultiTypePool to MutableTypes
  • Rename KClassLinker to KotlinClassLinker
  • Rename ClassLinker to JavaClassLinker
  • Rename OneToManyEndpoint#withKClassLinker(...) method to withKotlinClassLinker
  • Rename OneToManyEndpoint#withClassLinker(...) method to withJavaClassLinker

v4.0.0-alpha2

5 years ago

This migrates MultiType to Kotlin (#253)

Features

  • Add a new reified MultiTypeAdapter#register(ItemViewBinder)
  • Add a new class Type for TypePool to hold data
  • Add withKotlinClassLinker for OneToManyEndpoint
  • Add ItemViewBinder#adapterItems to get or set the items of the associated MultiTypeAdapter
  • Change MultiTypeAdapter#items from List<*> to List<Any>

Breaking Changes

  • Change all protected methods of ItemViewBinder to public (#245)
  • Change the payloads parameter of ItemViewBinder#onBindViewHolder(holder, item, payloads) to be of List<Any> type
  • Change the clazz parameter of MultiTypeAdapter#register(...) from Class<? extends T> to Class<T>
  • Change MultiTypeAdapter to final
  • Remove Items class
  • Remove Preconditions class
  • Rename MultiTypePool to ArrayTypePool
  • Rename KClassLinker to KotlinClassLinker
  • Rename ClassLinker to JavaClassLinker
  • Rename OneToManyEndpoint#withKClassLinker(...) method to withKotlinClassLinker
  • Rename OneToManyEndpoint#withClassLinker(...) method to withJavaClassLinker

v3.5.0

5 years ago
  • Migrated to AndroidX
  • Renamed Kotlin extension artifact to -ktx

v3.4.4

6 years ago

Some minor changes:

  • Disabled BuildConfig generation
  • Changed some dependencies of libraries from implementation to api
  • Improved the tip of BinderNotFoundException

kotlin-v3.4.2-beta1

6 years ago

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, *>>)

v3.4.2

6 years ago
  • Added null-checkings for fast fail (#191)
  • Updated support library to 27.0.2