public class ItemAdapter extends BaseAdapter implements ItemHierarchy.Observer
ItemHierarchy
. The item hierarchy used to create this
adapter can be inflated by ItemInflater
from XML.IGNORE_ITEM_VIEW_TYPE, NO_SELECTION
Constructor and Description |
---|
ItemAdapter(ItemHierarchy hierarchy) |
Modifier and Type | Method and Description |
---|---|
ItemHierarchy |
findItemById(int id) |
int |
getCount()
How many items are in the data set represented by this Adapter.
|
IItem |
getItem(int position)
Get the data item associated with the specified position in the data set.
|
long |
getItemId(int position)
Get the row id associated with the specified position in the list.
|
int |
getItemViewType(int position)
Get the type of View that will be created by
Adapter.getView(int, android.view.View, android.view.ViewGroup) for the specified item. |
ItemHierarchy |
getRootItemHierarchy() |
View |
getView(int position,
View convertView,
ViewGroup parent)
Get a View that displays the data at the specified position in the data set.
|
int |
getViewTypeCount()
Returns the number of types of Views that will be created by
Adapter.getView(int, android.view.View, android.view.ViewGroup) . |
boolean |
isEnabled(int position)
Returns true if the item at the specified position is not a separator.
|
void |
onChanged(ItemHierarchy hierarchy)
Called when an underlying data update that can cause this hierarchy to show different
content has occurred.
|
areAllItemsEnabled, getDropDownView, hasStableIds, isEmpty, notifyDataSetChanged, notifyDataSetInvalidated, registerDataSetObserver, unregisterDataSetObserver
public ItemAdapter(ItemHierarchy hierarchy)
public int getCount()
Adapter
public IItem getItem(int position)
Adapter
public long getItemId(int position)
Adapter
public int getItemViewType(int position)
Adapter
Adapter.getView(int, android.view.View, android.view.ViewGroup)
for the specified item.getItemViewType
in interface Adapter
getItemViewType
in class BaseAdapter
position
- The position of the item within the adapter's data set whose view type we
want.Adapter.getView(int, android.view.View, android.view.ViewGroup)
. Note: Integers must be in the
range 0 to Adapter.getViewTypeCount()
- 1. Adapter.IGNORE_ITEM_VIEW_TYPE
can
also be returned.Adapter.IGNORE_ITEM_VIEW_TYPE
public int getViewTypeCount()
Adapter
Returns the number of types of Views that will be created by
Adapter.getView(int, android.view.View, android.view.ViewGroup)
. Each type represents a set of views that can be
converted in Adapter.getView(int, android.view.View, android.view.ViewGroup)
. If the adapter always returns the same
type of View for all items, this method should return 1.
This method will only be called when the adapter is set on the AdapterView
.
getViewTypeCount
in interface Adapter
getViewTypeCount
in class BaseAdapter
public View getView(int position, View convertView, ViewGroup parent)
Adapter
LayoutInflater.inflate(int, android.view.ViewGroup, boolean)
to specify a root view and to prevent attachment to the root.getView
in interface Adapter
position
- The position of the item within the adapter's data set of the item whose view
we want.convertView
- The old view to reuse, if possible. Note: You should check that this view
is non-null and of an appropriate type before using. If it is not possible to convert
this view to display the correct data, this method can create a new view.
Heterogeneous lists can specify their number of view types, so that this View is
always of the right type (see Adapter.getViewTypeCount()
and
Adapter.getItemViewType(int)
).parent
- The parent that this view will eventually be attached topublic void onChanged(ItemHierarchy hierarchy)
ItemHierarchy.Observer
onChanged
in interface ItemHierarchy.Observer
public boolean isEnabled(int position)
ListAdapter
ArrayIndexOutOfBoundsException
should be thrown in that case for fast failure.isEnabled
in interface ListAdapter
isEnabled
in class BaseAdapter
position
- Index of the itemListAdapter.areAllItemsEnabled()
public ItemHierarchy findItemById(int id)
public ItemHierarchy getRootItemHierarchy()