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 } }