From 4b1ee3ac3a77b354fb43449b2e05da4ae3ead7a3 Mon Sep 17 00:00:00 2001 From: Igor Talankin Date: Mon, 4 Dec 2023 01:43:04 +0400 Subject: [PATCH] Fixed adapter type parameters --- .../java/me/italankin/adapterdelegates/AdapterDelegate.kt | 2 +- .../me/italankin/adapterdelegates/BaseAdapterDelegate.kt | 7 ++++--- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/adapter-delegates/src/main/java/me/italankin/adapterdelegates/AdapterDelegate.kt b/adapter-delegates/src/main/java/me/italankin/adapterdelegates/AdapterDelegate.kt index abaa087..25015ee 100644 --- a/adapter-delegates/src/main/java/me/italankin/adapterdelegates/AdapterDelegate.kt +++ b/adapter-delegates/src/main/java/me/italankin/adapterdelegates/AdapterDelegate.kt @@ -17,7 +17,7 @@ interface AdapterDelegate { * * @param adapter adapter */ - fun onAttached(adapter: CompositeAdapter) + fun onAttached(adapter: CompositeAdapter<*>) /** * Create [RecyclerView.ViewHolder]. diff --git a/adapter-delegates/src/main/java/me/italankin/adapterdelegates/BaseAdapterDelegate.kt b/adapter-delegates/src/main/java/me/italankin/adapterdelegates/BaseAdapterDelegate.kt index 55a1c29..7a1ad42 100644 --- a/adapter-delegates/src/main/java/me/italankin/adapterdelegates/BaseAdapterDelegate.kt +++ b/adapter-delegates/src/main/java/me/italankin/adapterdelegates/BaseAdapterDelegate.kt @@ -17,7 +17,7 @@ abstract class BaseAdapterDelegate : AdapterDel /** * @return adapter, which this delegate is attached to */ - protected lateinit var adapter: CompositeAdapter + protected lateinit var adapter: CompositeAdapter<*> /** * Get layout resource identifier for view holder's layout. @@ -35,7 +35,7 @@ abstract class BaseAdapterDelegate : AdapterDel */ protected abstract fun createViewHolder(itemView: View): VH - override fun onAttached(adapter: CompositeAdapter) { + override fun onAttached(adapter: CompositeAdapter<*>) { this.adapter = adapter } @@ -59,7 +59,8 @@ abstract class BaseAdapterDelegate : AdapterDel return 0 } + @Suppress("UNCHECKED_CAST") fun getItem(position: Int): T { - return adapter.getItem(position) + return adapter.getItem(position) as T } }