java.lang.Object | |
↳ | android.support.v17.leanback.widget.Presenter |
Known Direct Subclasses |
Known Indirect Subclasses |
A Presenter is used to generate View
s and bind Objects to them on
demand. It is closely related to concept of an RecyclerView.Adapter
, but is
not position-based.
A trivial Presenter that takes a string and renders it into a TextView
:
public class StringTextViewPresenter extends Presenter { // This class does not need a custom ViewHolder, since it does not use // a complex layout. @Override public ViewHolder onCreateViewHolder(ViewGroup parent) { return new ViewHolder(new TextView(parent.getContext())); } @Override public void onBindViewHolder(ViewHolder viewHolder, Object item) { String str = (String) item; TextView textView = (TextView) viewHolder.mView; textView.setText(item); } @Override public void onUnbindViewHolder(ViewHolder viewHolder) { // Nothing to unbind for TextView, but if this viewHolder had // allocated bitmaps, they can be released here. } }
Nested Classes | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Presenter.ViewHolder | ViewHolder can be subclassed and used to cache any view accessors needed to improve binding performance (for example, results of findViewById) without needing to subclass a View. |
Public Constructors | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Public Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Binds a
View to an item.
| |||||||||||
Creates a new
View .
| |||||||||||
Unbinds a
View from an item.
| |||||||||||
Called when a view created by this presenter has been attached to a window.
| |||||||||||
Called when a view created by this presenter has been detached from its window.
| |||||||||||
Called to set a click listener for the given view holder.
|
Protected Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
Utility method for removing all running animations on a view.
|
[Expand]
Inherited Methods | |||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|
From class
java.lang.Object
|
Binds a View
to an item.
Unbinds a View
from an item. Any expensive references may be
released here, and any fields that are not bound for every item should be
cleared here.
Called when a view created by this presenter has been attached to a window.
This can be used as a reasonable signal that the view is about to be seen
by the user. If the adapter previously freed any resources in
onViewDetachedFromWindow(ViewHolder)
those resources should be restored here.
holder | Holder of the view being attached |
---|
Called when a view created by this presenter has been detached from its window.
Becoming detached from the window is not necessarily a permanent condition; the consumer of an presenter's views may choose to cache views offscreen while they are not visible, attaching and detaching them as appropriate.
Any view property animations should be cancelled here or the view may fail to be recycled.holder | Holder of the view being detached |
---|
Called to set a click listener for the given view holder. The default implementation sets the click listener on the root view in the view holder. If the root view isn't focusable this method should be overridden to set the listener on the appropriate focusable child view(s).
holder | The view holder containing the view(s) on which the listener should be set. |
---|---|
listener | The click listener to be set. |
Utility method for removing all running animations on a view.