class EpoxyPreloader<P : PreloadRequestHolder> : OnScrollListener
A scroll listener that prefetches view content.
To use this, create implementations of EpoxyModelPreloader for each EpoxyModel class that you want to preload. Then, use the EpoxyPreloader.with methods to create an instance that preloads models of that type. Finally, add the resulting scroll listener to your RecyclerView.
If you are using com.airbnb.epoxy.EpoxyRecyclerView then use com.airbnb.epoxy.EpoxyRecyclerView.addPreloader to setup the preloader as a listener.
Otherwise there is a RecyclerView.addEpoxyPreloader extension for easy usage.
EpoxyPreloader(epoxyController: EpoxyController, requestHolderFactory: () -> P, errorHandler: PreloadErrorHandler, maxItemsToPreload: Int, modelPreloaders: List<EpoxyModelPreloader<*, *, out P>>)EpoxyPreloader(adapter: EpoxyAdapter, requestHolderFactory: () -> P, errorHandler: PreloadErrorHandler, maxItemsToPreload: Int, modelPreloaders: List<EpoxyModelPreloader<*, *, out P>>) |
fun cancelPreloadRequests(): Unit
Cancels all current preload requests in progress. |
|
fun onScrolled(recyclerView: RecyclerView, dx: Int, dy: Int): Unit |
|
fun onScrollStateChanged(recyclerView: RecyclerView, newState: Int): Unit |
fun <P : PreloadRequestHolder> with(epoxyController: EpoxyController, requestHolderFactory: () -> P, errorHandler: PreloadErrorHandler, maxItemsToPreload: Int, modelPreloader: EpoxyModelPreloader<out EpoxyModel<*>, out ViewMetadata?, out P>): EpoxyPreloader<P>
Helper to create a preload scroll listener. Add the result to your RecyclerView. for different models or content types. fun <P : PreloadRequestHolder> with(epoxyController: EpoxyController, requestHolderFactory: () -> P, errorHandler: PreloadErrorHandler, maxItemsToPreload: Int, modelPreloaders: List<EpoxyModelPreloader<out EpoxyModel<*>, out ViewMetadata?, out P>>): EpoxyPreloader<P>fun <P : PreloadRequestHolder> with(epoxyAdapter: EpoxyAdapter, requestHolderFactory: () -> P, errorHandler: PreloadErrorHandler, maxItemsToPreload: Int, modelPreloaders: List<EpoxyModelPreloader<out EpoxyModel<*>, out ViewMetadata?, out P>>): EpoxyPreloader<P>
Helper to create a preload scroll listener. Add the result to your RecyclerView. |