Class HeaderViewListAdapter
- All Implemented Interfaces:
Adapter
,Filterable
,ListAdapter
,WrapperListAdapter
This is intended as a base class; you will probably not need to use this class directly in your own code.
-
Field Summary
Fields inherited from interface icyllis.modernui.widget.Adapter
IGNORE_ITEM_VIEW_TYPE, NO_SELECTION
-
Constructor Summary
ConstructorDescriptionHeaderViewListAdapter
(ArrayList<ListView.FixedViewInfo> headerViewInfos, ArrayList<ListView.FixedViewInfo> footerViewInfos, ListAdapter adapter) -
Method Summary
Modifier and TypeMethodDescriptionboolean
Indicates whether all the items in this adapter are enabled.int
getCount()
How many items are in the data set represented by this Adapter.Returns a filter that can be used to constrain data with a filtering pattern.int
int
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 byAdapter.getView(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 byAdapter.getView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
.Returns the adapter wrapped by this list adapter.boolean
Indicates whether the item ids are stable across changes to the underlying data.boolean
isEmpty()
boolean
isEnabled
(int position) Returns true if the item at the specified position is not a separator.void
registerDataSetObserver
(DataSetObserver observer) Register an observer that is called when changes happen to the data used by this adapter.boolean
removeFooter
(View v) boolean
removeHeader
(View v) void
unregisterDataSetObserver
(DataSetObserver observer) Unregister an observer that has previously been registered with this adapter viaAdapter.registerDataSetObserver(icyllis.modernui.util.DataSetObserver)
.
-
Constructor Details
-
HeaderViewListAdapter
public HeaderViewListAdapter(@Nullable ArrayList<ListView.FixedViewInfo> headerViewInfos, @Nullable ArrayList<ListView.FixedViewInfo> footerViewInfos, @Nonnull ListAdapter adapter)
-
-
Method Details
-
getHeadersCount
public int getHeadersCount() -
isEmpty
public boolean isEmpty()- Specified by:
isEmpty
in interfaceAdapter
- 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.
-
removeHeader
-
getCount
public int getCount()Description copied from interface:Adapter
How many items are in the data set represented by this Adapter. -
areAllItemsEnabled
public boolean areAllItemsEnabled()Description copied from interface:ListAdapter
Indicates whether all the items in this adapter are enabled. If the value returned by this method changes over time, there is no guarantee it will take effect. If true, it means all items are selectable and clickable (there is no separator.)- Specified by:
areAllItemsEnabled
in interfaceListAdapter
- Returns:
- True if all items are enabled, false otherwise.
- See Also:
-
isEnabled
public boolean isEnabled(int position) Description copied from interface:ListAdapter
Returns true if the item at the specified position is not a separator. (A separator is a non-selectable, non-clickable item).The result is unspecified if position is invalid. An
ArrayIndexOutOfBoundsException
should be thrown in that case for fast failure.- Specified by:
isEnabled
in interfaceListAdapter
- Parameters:
position
- Index of the item- Returns:
- True if the item is not a separator
- See Also:
-
getItem
Description copied from interface:Adapter
Get the data item associated with the specified position in the data set. -
getItemId
public long getItemId(int position) Description copied from interface:Adapter
Get the row id associated with the specified position in the list. -
hasStableIds
public boolean hasStableIds()Description copied from interface:Adapter
Indicates whether the item ids are stable across changes to the underlying data.- Specified by:
hasStableIds
in interfaceAdapter
- Returns:
- True if the same id always refers to the same object.
-
getView
Description copied from interface:Adapter
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.
- Specified by:
getView
in interfaceAdapter
- 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 (seeAdapter.getViewTypeCount()
andAdapter.getItemViewType(int)
).parent
- The parent that this view will eventually be attached to- Returns:
- A View corresponding to the data at the specified position.
-
getItemViewType
public int getItemViewType(int position) Description copied from interface:Adapter
Get the type of View that will be created byAdapter.getView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
for the specified item.- Specified by:
getItemViewType
in interfaceAdapter
- 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
Adapter.getView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
. Note: Integers must be in the range 0 toAdapter.getViewTypeCount()
- 1.Adapter.IGNORE_ITEM_VIEW_TYPE
can also be returned. - See Also:
-
getViewTypeCount
public int getViewTypeCount()Description copied from interface:Adapter
Returns the number of types of Views that will be created by
Adapter.getView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup)
. Each type represents a set of views that can be converted inAdapter.getView(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
.- Specified by:
getViewTypeCount
in interfaceAdapter
- Returns:
- The number of types of Views that will be created by this adapter
-
registerDataSetObserver
Description copied from interface:Adapter
Register an observer that is called when changes happen to the data used by this adapter.- Specified by:
registerDataSetObserver
in interfaceAdapter
- Parameters:
observer
- the object that gets notified when the data set changes.
-
unregisterDataSetObserver
Description copied from interface:Adapter
Unregister an observer that has previously been registered with this adapter viaAdapter.registerDataSetObserver(icyllis.modernui.util.DataSetObserver)
.- Specified by:
unregisterDataSetObserver
in interfaceAdapter
- Parameters:
observer
- the object to unregister.
-
getFilter
Description copied from interface:Filterable
Returns a filter that can be used to constrain data with a filtering pattern.
This method is usually implemented by
Adapter
classes.- Specified by:
getFilter
in interfaceFilterable
- Returns:
- a filter used to constrain data
-
getWrappedAdapter
Description copied from interface:WrapperListAdapter
Returns the adapter wrapped by this list adapter.- Specified by:
getWrappedAdapter
in interfaceWrapperListAdapter
- Returns:
- The
ListAdapter
wrapped by this adapter.
-