Class RecyclerViewPreloader<T>
java.lang.Object
androidx.recyclerview.widget.RecyclerView.OnScrollListener
com.bumptech.glide.integration.recyclerview.RecyclerViewPreloader<T>
- Type Parameters:
T- The type of the model being displayed in theRecyclerView.
public final class RecyclerViewPreloader<T>
extends androidx.recyclerview.widget.RecyclerView.OnScrollListener
Loads a few resources ahead in the direction of scrolling in any
RecyclerView so that
images are in the memory cache just before the corresponding view in created in the list. Gives
the appearance of an infinitely large image cache, depending on scrolling speed, cpu speed, and
cache size.
Must be added as a listener to the RecyclerView using RecyclerView.addOnScrollListener(RecyclerView.OnScrollListener), or have its corresponding
methods called from another RecyclerView.OnScrollListener to
function.
This class only works with LinearLayoutManager and
subclasses of LinearLayoutManager.
-
Constructor Summary
ConstructorsConstructorDescriptionRecyclerViewPreloader(Activity activity, com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Helper constructor that accepts anActivity.RecyclerViewPreloader(Fragment fragment, com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Deprecated.RecyclerViewPreloader(androidx.fragment.app.FragmentActivity fragmentActivity, com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Helper constructor that accepts anFragmentActivity.RecyclerViewPreloader(androidx.fragment.app.Fragment fragment, com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Helper constructor that accepts anFragment.RecyclerViewPreloader(com.bumptech.glide.RequestManager requestManager, com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Constructor that accepts interfaces for providing the dimensions of images to preload, the list of models to preload for a given position, and the request to use to load images. -
Method Summary
Modifier and TypeMethodDescriptionvoidonScrolled(androidx.recyclerview.widget.RecyclerView recyclerView, int dx, int dy) Methods inherited from class androidx.recyclerview.widget.RecyclerView.OnScrollListener
onScrollStateChanged
-
Constructor Details
-
RecyclerViewPreloader
public RecyclerViewPreloader(@NonNull Activity activity, @NonNull com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, @NonNull com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Helper constructor that accepts anActivity. -
RecyclerViewPreloader
public RecyclerViewPreloader(@NonNull androidx.fragment.app.FragmentActivity fragmentActivity, @NonNull com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, @NonNull com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Helper constructor that accepts anFragmentActivity. -
RecyclerViewPreloader
public RecyclerViewPreloader(@NonNull androidx.fragment.app.Fragment fragment, @NonNull com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, @NonNull com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Helper constructor that accepts anFragment. -
RecyclerViewPreloader
@Deprecated public RecyclerViewPreloader(@NonNull Fragment fragment, @NonNull com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, @NonNull com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Deprecated.Use constructorRecyclerViewPreloader(Fragment, PreloadModelProviderinstead., PreloadSizeProvider ) Helper constructor that accepts anFragment. -
RecyclerViewPreloader
public RecyclerViewPreloader(@NonNull com.bumptech.glide.RequestManager requestManager, @NonNull com.bumptech.glide.ListPreloader.PreloadModelProvider<T> preloadModelProvider, @NonNull com.bumptech.glide.ListPreloader.PreloadSizeProvider<T> preloadDimensionProvider, int maxPreload) Constructor that accepts interfaces for providing the dimensions of images to preload, the list of models to preload for a given position, and the request to use to load images.- Parameters:
preloadModelProvider- Provides models to load and requests capable of loading them.preloadDimensionProvider- Provides the dimensions of images to load.maxPreload- Maximum number of items to preload.
-
-
Method Details
-
onScrolled
public void onScrolled(androidx.recyclerview.widget.RecyclerView recyclerView, int dx, int dy) - Overrides:
onScrolledin classandroidx.recyclerview.widget.RecyclerView.OnScrollListener
-
RecyclerViewPreloader(Fragment, PreloadModelProvider,
PreloadSizeProvider) instead.