Package icyllis.modernui.widget
Interface Adapter
- All Known Subinterfaces:
ListAdapter
,SpinnerAdapter
,WrapperListAdapter
- All Known Implementing Classes:
ArrayAdapter
,BaseAdapter
,HeaderViewListAdapter
,MenuAdapter
public interface Adapter
An Adapter object acts as a bridge between an
AdapterView
and the
underlying data for that view. The Adapter provides access to the data items.
The Adapter is also responsible for making a View
for
each item in the data set.- See Also:
-
Field Summary
Modifier and TypeFieldDescriptionstatic final int
An item view type that causes theAdapterView
to ignore the item view.static final int
-
Method Summary
Modifier and TypeMethodDescriptionint
getCount()
How many items are in the data set represented by this Adapter.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 bygetView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
for the specified item.Get a View that displays the data at the specified position in the data set.int
Returns the number of types of Views that will be created bygetView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
.boolean
Indicates whether the item ids are stable across changes to the underlying data.boolean
isEmpty()
void
registerDataSetObserver
(DataSetObserver observer) Register an observer that is called when changes happen to the data used by this adapter.void
unregisterDataSetObserver
(DataSetObserver observer) Unregister an observer that has previously been registered with this adapter viaregisterDataSetObserver(icyllis.modernui.util.DataSetObserver)
.
-
Field Details
-
IGNORE_ITEM_VIEW_TYPE
static final int IGNORE_ITEM_VIEW_TYPEAn item view type that causes theAdapterView
to ignore the item view. For example, this can be used if the client does not want a particular view to be given for conversion ingetView(int, View, ViewGroup)
.- See Also:
-
NO_SELECTION
static final int NO_SELECTION- See Also:
-
-
Method Details
-
registerDataSetObserver
Register an observer that is called when changes happen to the data used by this adapter.- Parameters:
observer
- the object that gets notified when the data set changes.
-
unregisterDataSetObserver
Unregister an observer that has previously been registered with this adapter viaregisterDataSetObserver(icyllis.modernui.util.DataSetObserver)
.- Parameters:
observer
- the object to unregister.
-
getCount
int getCount()How many items are in the data set represented by this Adapter.- Returns:
- Count of items.
-
getItem
Get the data item associated with the specified position in the data set.- Parameters:
position
- Position of the item whose data we want within the adapter's data set.- Returns:
- The data at the specified position, may be null.
-
getItemId
long getItemId(int position) Get the row id associated with the specified position in the list.- Parameters:
position
- The position of the item within the adapter's data set whose row id we want.- Returns:
- The id of the item at the specified position.
-
hasStableIds
boolean hasStableIds()Indicates whether the item ids are stable across changes to the underlying data.- Returns:
- True if the same id always refers to the same object.
-
getView
Get a View that displays the data at the specified position in the data set. You can create a View manually.This method should not return null unless the item count is zero.
- Parameters:
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 (seegetViewTypeCount()
andgetItemViewType(int)
).parent
- The parent that this view will eventually be attached to- Returns:
- A View corresponding to the data at the specified position.
-
getItemViewType
int getItemViewType(int position) Get the type of View that will be created bygetView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
for the specified item.- Parameters:
position
- The position of the item within the adapter's data set whose view type we want.- Returns:
- An integer representing the type of View. Two views should share the same type if one
can be converted to the other in
getView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
. Note: Integers must be in the range 0 togetViewTypeCount()
- 1.IGNORE_ITEM_VIEW_TYPE
can also be returned. - See Also:
-
getViewTypeCount
int getViewTypeCount()Returns the number of types of Views that will be created by
getView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
. Each type represents a set of views that can be converted ingetView(int, icyllis.modernui.view.View, icyllis.modernui.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
.- Returns:
- The number of types of Views that will be created by this adapter
-
isEmpty
boolean isEmpty()- Returns:
- true if this adapter doesn't contain any data. This is used to determine whether the empty view should be displayed. A typical implementation will return getCount() == 0 but since getCount() includes the headers and footers, specialized adapters might want a different behavior.
-