|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object com.bumptech.glide.request.target.BaseTarget<Z> com.bumptech.glide.request.target.ViewTarget<T,Z>
T
- The specific subclass of view wrapped by this target.Z
- The resource type this target will receive.public abstract class ViewTarget<T extends View,Z>
A base Target
for loading Bitmap
s into View
s that provides default
implementations for most most methods and can determine the size of views using a
ViewTreeObserver.OnDrawListener
.
To detect View
reuse in ListView
or any ViewGroup
that reuses views, this
class uses the View.setTag(Object)
method to store some metadata so that if a view is reused, any
previous loads or resources from previous loads can be cancelled or reused.
Any calls to View.setTag(Object)
} on a View given to this class will result in excessive allocations and
and/or IllegalArgumentException
s. If you must call View.setTag(Object)
on a view, consider
using BaseTarget
or SimpleTarget
instead.
Field Summary | |
---|---|
protected T |
view
|
Constructor Summary | |
---|---|
ViewTarget(T view)
|
Method Summary | |
---|---|
Request |
getRequest()
Returns any stored request using View.getTag() . |
void |
getSize(SizeReadyCallback cb)
Determines the size of the view by first checking View.getWidth() and
View.getHeight() . |
T |
getView()
Returns the wrapped View . |
void |
setRequest(Request request)
Stores the request using View.setTag(Object) . |
String |
toString()
|
Methods inherited from class com.bumptech.glide.request.target.BaseTarget |
---|
onDestroy, onLoadCleared, onLoadFailed, onLoadStarted, onStart, onStop |
Methods inherited from class java.lang.Object |
---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Methods inherited from interface com.bumptech.glide.request.target.Target |
---|
onResourceReady |
Field Detail |
---|
protected final T extends View view
Constructor Detail |
---|
public ViewTarget(T view)
Method Detail |
---|
public T getView()
View
.
public void getSize(SizeReadyCallback cb)
View.getWidth()
and
View.getHeight()
. If one or both are zero, it then checks the view's
ViewGroup.LayoutParams
. If one or both of the params width and height are less than or
equal to zero, it then adds an ViewTreeObserver.OnPreDrawListener
which waits until the view
has been measured before calling the callback with the view's drawn width and height.
cb
- The callback that must be called when the size of the target has been determinedpublic void setRequest(Request request)
View.setTag(Object)
.
setRequest
in interface Target<Z>
setRequest
in class BaseTarget<Z>
request
- public Request getRequest()
View.getTag()
.
For Glide to function correctly, Glide must be the only thing that calls View.setTag(Object)
. If the
tag is cleared or set to another object type, Glide will not be able to retrieve and cancel previous loads
which will not only prevent Glide from reusing resource, but will also result in incorrect images being
loaded and lots of flashing of images in lists. As a result, this will throw an
IllegalArgumentException
if View.getTag()
} returns a non null object
that is not an Request
.
getRequest
in interface Target<Z>
getRequest
in class BaseTarget<Z>
public String toString()
toString
in class Object
|
|||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |