Package icyllis.modernui.widget
Class BaseAdapter
java.lang.Object
icyllis.modernui.widget.BaseAdapter
- All Implemented Interfaces:
Adapter,ListAdapter,SpinnerAdapter
- Direct Known Subclasses:
ArrayAdapter,MenuAdapter
Common base class of common implementation for an
Adapter that can be
used in both ListView (by implementing the specialized
ListAdapter interface) and Spinner (by implementing the
specialized SpinnerAdapter interface).-
Field Summary
Fields inherited from interface icyllis.modernui.widget.Adapter
IGNORE_ITEM_VIEW_TYPE, NO_SELECTION -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionbooleanIndicates whether all the items in this adapter are enabled.getDropDownView(int position, View convertView, ViewGroup parent) Gets aViewthat displays in the drop-down popup the data at the specified position in the data set.intgetItemViewType(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.intReturns the number of types of Views that will be created byAdapter.getView(int, icyllis.modernui.view.View, icyllis.modernui.view.ViewGroup).booleanIndicates whether the item ids are stable across changes to the underlying data.booleanisEmpty()booleanisEnabled(int position) Returns true if the item at the specified position is not a separator.voidNotifies the attached observers that the underlying data has been changed and any View reflecting the data set should refresh itself.voidNotifies the attached observers that the underlying data is no longer valid or available.voidregisterDataSetObserver(DataSetObserver observer) Register an observer that is called when changes happen to the data used by this adapter.voidunregisterDataSetObserver(DataSetObserver observer) Unregister an observer that has previously been registered with this adapter viaAdapter.registerDataSetObserver(icyllis.modernui.util.DataSetObserver).
-
Constructor Details
-
BaseAdapter
public BaseAdapter()
-
-
Method Details
-
hasStableIds
public boolean hasStableIds()Description copied from interface:AdapterIndicates whether the item ids are stable across changes to the underlying data.- Specified by:
hasStableIdsin interfaceAdapter- Returns:
- True if the same id always refers to the same object.
-
registerDataSetObserver
Description copied from interface:AdapterRegister an observer that is called when changes happen to the data used by this adapter.- Specified by:
registerDataSetObserverin interfaceAdapter- Parameters:
observer- the object that gets notified when the data set changes.
-
unregisterDataSetObserver
Description copied from interface:AdapterUnregister an observer that has previously been registered with this adapter viaAdapter.registerDataSetObserver(icyllis.modernui.util.DataSetObserver).- Specified by:
unregisterDataSetObserverin interfaceAdapter- Parameters:
observer- the object to unregister.
-
notifyDataSetChanged
public void notifyDataSetChanged()Notifies the attached observers that the underlying data has been changed and any View reflecting the data set should refresh itself. -
notifyDataSetInvalidated
public void notifyDataSetInvalidated()Notifies the attached observers that the underlying data is no longer valid or available. Once invoked this adapter is no longer valid and should not report further data set changes. -
areAllItemsEnabled
public boolean areAllItemsEnabled()Description copied from interface:ListAdapterIndicates 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:
areAllItemsEnabledin interfaceListAdapter- Returns:
- True if all items are enabled, false otherwise.
- See Also:
-
isEnabled
public boolean isEnabled(int position) Description copied from interface:ListAdapterReturns 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
ArrayIndexOutOfBoundsExceptionshould be thrown in that case for fast failure.- Specified by:
isEnabledin interfaceListAdapter- Parameters:
position- Index of the item- Returns:
- True if the item is not a separator
- See Also:
-
getDropDownView
@Nullable public View getDropDownView(int position, @Nullable View convertView, @Nonnull ViewGroup parent) Description copied from interface:SpinnerAdapterGets aViewthat displays in the drop-down popup the data at the specified position in the data set.This method should not return null unless the item count is zero.
- Specified by:
getDropDownViewin interfaceSpinnerAdapter- Parameters:
position- index 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.parent- the parent that this view will eventually be attached to- Returns:
- a
Viewcorresponding to the data at the specified position.
-
getItemViewType
public int getItemViewType(int position) Description copied from interface:AdapterGet 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:
getItemViewTypein 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_TYPEcan also be returned. - See Also:
-
getViewTypeCount
public int getViewTypeCount()Description copied from interface:AdapterReturns 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:
getViewTypeCountin interfaceAdapter- Returns:
- The number of types of Views that will be created by this adapter
-
isEmpty
public boolean isEmpty()- Specified by:
isEmptyin 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.
-