T - The type of resource that will be loaded (e.g. Bitmap).public abstract class CustomTarget<T> extends java.lang.Object implements Target<T>
Target for loading resources (Bitmap, Drawable
etc) that are used outside of Views.
If you're loading a resource into a View, use
RequestBuilder.into(ImageView), a subclass of ImageViewTarget,
or CustomViewTarget. Using this class to load resources into Views can prevent
Glide from correctly cancelling any previous loads, which may result in incorrect images
appearing in the view, especially in scrolling views like
RecyclerView.
You MUST implement Target.onLoadCleared(Drawable) and ensure that all references to
any resource passed into the target in Target.onResourceReady(Object, Transition) are removed
before Target.onLoadCleared(Drawable) completes. Failing to do so can result in graphical
corruption, crashes caused by recycled Bitmaps, and other undefined behavior. It is never
safe to leave Target.onLoadCleared(Drawable) unimplemented or empty. Even if you do not
manually clear this Target, Glide may do so automatically after certain lifecycle events
in Fragments and Activitys.
This class can only be used with Target.SIZE_ORIGINAL or when the desired resource
dimensions are known when the Target is created. If you'd like to run some asynchronous
process and make full use of getSize(SizeReadyCallback) and SizeReadyCallback,
extend Target directly instead of using this class.
SIZE_ORIGINAL| Constructor and Description |
|---|
CustomTarget()
Creates a new
CustomTarget that will attempt to load the resource in its original size. |
CustomTarget(int width,
int height)
Creates a new
CustomTarget that will return the given width and height
as the requested size (unless overridden by
BaseRequestOptions.override(int) in the request). |
| Modifier and Type | Method and Description |
|---|---|
Request |
getRequest()
Retrieves the current request for this target, should not be called outside of Glide.
|
void |
getSize(SizeReadyCallback cb)
A method to retrieve the size of this target.
|
void |
onDestroy()
Callback for when
Fragment.onDestroy()} or Activity.onDestroy() is called. |
void |
onLoadFailed(android.graphics.drawable.Drawable errorDrawable)
A mandatory lifecycle callback that is called when a load fails.
|
void |
onLoadStarted(android.graphics.drawable.Drawable placeholder)
A lifecycle callback that is called when a load is started.
|
void |
onStart()
Callback for when
Fragment.onStart()} or Activity.onStart() is called. |
void |
onStop()
Callback for when
Fragment.onStop()} or Activity.onStop()} is called. |
void |
removeCallback(SizeReadyCallback cb)
Removes the given callback from the pending set if it's still retained.
|
void |
setRequest(Request request)
Sets the current request for this target to retain, should not be called outside of Glide.
|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitonLoadCleared, onResourceReadypublic CustomTarget()
CustomTarget that will attempt to load the resource in its original size.
This constructor can cause very memory inefficient loads if the resource is large and can
cause OOMs. It's provided as a convenience for when you'd like to specify dimensions with
BaseRequestOptions.override(int). In all other cases, prefer
CustomTarget(int, int).
public CustomTarget(int width,
int height)
CustomTarget that will return the given width and height
as the requested size (unless overridden by
BaseRequestOptions.override(int) in the request).width - The requested width (>= 0, or == Target.SIZE_ORIGINAL).height - The requested height (>= 0, or == Target.SIZE_ORIGINAL).public void onStart()
LifecycleListenerFragment.onStart()} or Activity.onStart() is called.onStart in interface LifecycleListenerpublic void onStop()
LifecycleListenerFragment.onStop()} or Activity.onStop()} is called.onStop in interface LifecycleListenerpublic void onDestroy()
LifecycleListenerFragment.onDestroy()} or Activity.onDestroy() is called.onDestroy in interface LifecycleListenerpublic void onLoadStarted(@Nullable
android.graphics.drawable.Drawable placeholder)
TargetNote - This may not be called for every load, it is possible for example for loads to fail before the load starts (when the model object is null).
Note - This method may be called multiple times before any other lifecycle method is called. Loads can be paused and restarted due to lifecycle or connectivity events and each restart may cause a call here.
onLoadStarted in interface Target<T>placeholder - The placeholder drawable to optionally show, or null.public void onLoadFailed(@Nullable
android.graphics.drawable.Drawable errorDrawable)
TargetNote - This may be called before Target.onLoadStarted(android.graphics.drawable.Drawable)
if the model object is null.
You must ensure that any current Drawable received in Target.onResourceReady(Object,
Transition) is no longer used before redrawing the container (usually a View) or changing its
visibility.
onLoadFailed in interface Target<T>errorDrawable - The error drawable to optionally show, or null.public final void getSize(@NonNull
SizeReadyCallback cb)
Targetpublic final void removeCallback(@NonNull
SizeReadyCallback cb)
TargetremoveCallback in interface Target<T>cb - The callback to remove.public final void setRequest(@Nullable
Request request)
TargetsetRequest in interface Target<T>@Nullable public final Request getRequest()
TargetgetRequest in interface Target<T>