Item - Type of the item presented within a data set of a subclass of this SimpleSpinnerAdapter.VH - Type of the view holder used within a subclass of this SimpleSpinnerAdapter.DVH - Type of the drop down view holder used within a subclass of this SimpleSpinnerAdapter.public abstract class SimpleSpinnerAdapter<Item,VH,DVH> extends BaseSpinnerAdapter<Item,VH,DVH> implements ItemsAdapter<Item>
BaseSpinnerAdapter implementation which specifies simple API for data set management of
items. This adapter supports changing of the current data set via changeItems(List) and
obtaining an item for a desired position via getItem(int). All items attached to the
adapter may be obtained via getItems().
In the simplest implementation case of this adapter, only BaseAdapter.onCreateView(android.view.ViewGroup, int)
and BaseSpinnerAdapter.onBindViewHolder(Object, int) methods are required to be implemented to take a full
advantage of this adapter class. The simplest scenario assumes that both spinner view and drop down
view are the same, if not also BaseSpinnerAdapter.onCreateDropDownView(android.view.ViewGroup, int) and
BaseSpinnerAdapter.onBindDropDownViewHolder(Object, int) need to be implemented as well.
mContext, mLayoutInflater, mResourcesNO_ID, NO_POSITIONIGNORE_ITEM_VIEW_TYPE, NO_SELECTION| Constructor and Description |
|---|
SimpleSpinnerAdapter(Context context)
Creates a new instance of SimpleSpinnerAdapter without initial items data set.
|
SimpleSpinnerAdapter(Context context,
Item[] items)
Same as
SimpleSpinnerAdapter(Context, List) for array of initial items
data set. |
SimpleSpinnerAdapter(Context context,
List<Item> items)
Creates a new instance of SimpleSpinnerAdapter with the given initial items
data set.
|
| Modifier and Type | Method and Description |
|---|---|
void |
changeItems(List<Item> items)
Same as
ItemsAdapter.swapItems(List) without returning the old data set of items. |
Item |
getItem(int position)
Returns the item (model) containing data from this data set for the specified position.
|
int |
getItemCount()
Returns the count of items available within this data set.
|
List<Item> |
getItems()
Returns the current items data set of this adapter.
|
boolean |
hasItemAt(int position)
Returns a boolean flag indicating whether this data set has item that can provide data for the
specified position or not.
|
protected boolean |
onItemsChange(List<Item> newItems,
List<Item> oldItems)
Called from
swapItems(List) in order to handle change in items of this adapter. |
List<Item> |
swapItems(List<Item> items)
Changes items data set of this adapter and returns the old items data set.
|
getDropDownView, getSelectedItem, getSelectedItemPosition, getView, onBindDropDownViewHolder, onBindViewHolder, onCreateDropDownView, onCreateDropDownViewHolder, onUpdateViewHoldercurrentViewType, getCount, getItemId, hasStableIds, inflate, notifyDataSetActionSelected, notifyDataSetChanged, notifyDataSetInvalidated, onCreateView, onCreateViewHolder, onDataSetActionSelected, registerOnDataChangeListener, registerOnDataSetActionListener, registerOnDataSetListener, restoreInstanceState, saveInstanceState, unregisterOnDataChangeListener, unregisterOnDataSetActionListener, unregisterOnDataSetListenerareAllItemsEnabled, getItemViewType, getViewTypeCount, isEmpty, isEnabled, registerDataSetObserver, unregisterDataSetObserverclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waithasStableIds, isEnabled, restoreInstanceState, saveInstanceStategetItemId, isEmpty, registerOnDataChangeListener, registerOnDataSetActionListener, registerOnDataSetListener, unregisterOnDataChangeListener, unregisterOnDataSetActionListener, unregisterOnDataSetListenerpublic SimpleSpinnerAdapter(@NonNull Context context)
context - Context in which will be this adapter used.SimpleSpinnerAdapter(Context, Object[]),
SimpleSpinnerAdapter(Context, List)public SimpleSpinnerAdapter(@NonNull Context context, @NonNull Item[] items)
SimpleSpinnerAdapter(Context, List) for array of initial items
data set.public SimpleSpinnerAdapter(@NonNull Context context, @NonNull List<Item> items)
context - Context in which will be this adapter used.items - List of items to be used as initial data set for this adapter.public void changeItems(@Nullable List<Item> items)
ItemsAdapterItemsAdapter.swapItems(List) without returning the old data set of items.changeItems in interface ItemsAdapter<Item>items - The desired items to be changed. May be null to clear the current ones.ItemsAdapter.getItems()@Nullable public List<Item> swapItems(@Nullable List<Item> items)
ItemsAdapterswapItems in interface ItemsAdapter<Item>items - The desired items to be changed. May be null to clear the current ones.null if this adapter does not have items data set
specified.ItemsAdapter.getItems()protected boolean onItemsChange(@Nullable List<Item> newItems, @Nullable List<Item> oldItems)
swapItems(List) in order to handle change in items of this adapter.
Note, that during this call this adapter has already the new items attached.
This implementation does nothing.
newItems - The new items data set for this adapter.oldItems - The old items data set of this adapter that has been replaced by the new one.True if change has been handled and appropriate callbacks has been fired to
registered observers, false if default BaseAdapter.notifyDataSetChanged() should be invoked.@Nullable public List<Item> getItems()
ItemsAdaptergetItems in interface ItemsAdapter<Item>null if there is no items data set provided
by this adapter.ItemsAdapter.changeItems(List),
ItemsAdapter.swapItems(List)public int getItemCount()
DataSetgetItemCount in interface DataSet<Item>0 if no cursor is attached or it has
no rows.DataSet.isEmpty(),
DataSet.hasItemAt(int),
DataSet.getItem(int)public boolean hasItemAt(int position)
DataSethasItemAt in interface DataSet<Item>position - The position of item to check.True if DataSet.getItem(int) can be called 'safely', false otherwise.@NonNull public Item getItem(int position)
DataSetgetItem in interface AdaptergetItem in interface DataSet<Item>position - Position of the item to obtain.DataSet.hasItemAt(int),
DataSet.getItemId(int)