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.
|
[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 an detaching them as appropriate.
holder | Holder of the view being detached |
---|