public class SuggestedLocaleAdapter extends BaseAdapter implements Filterable
The first section contains "suggested" languages (usually including a region), the second section contains all the languages within the original adapter. The "others" might still include languages that appear in the "suggested" section.
Example: if we show "German Switzerland" as "suggested" (based on SIM, let's say), then "German" will still show in the "others" section, clicking on it will only show the countries for all the other German locales, but not Switzerland (Austria, Belgium, Germany, Liechtenstein, Luxembourg)
IGNORE_ITEM_VIEW_TYPE, NO_SELECTION
Constructor and Description |
---|
SuggestedLocaleAdapter(Set<LocaleStore.LocaleInfo> localeOptions,
boolean countryMode) |
Modifier and Type | Method and Description |
---|---|
boolean |
areAllItemsEnabled()
Indicates whether all the items in this adapter are enabled.
|
int |
getCount()
How many items are in the data set represented by this Adapter.
|
Filter |
getFilter()
Returns a filter that can be used to constrain data with a filtering
pattern.
|
Object |
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. |
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 |
sort(LocaleHelper.LocaleInfoComparator comp)
Sorts the items in the adapter using a locale-aware comparator.
|
getDropDownView, hasStableIds, isEmpty, notifyDataSetChanged, notifyDataSetInvalidated, registerDataSetObserver, unregisterDataSetObserver
public SuggestedLocaleAdapter(Set<LocaleStore.LocaleInfo> localeOptions, boolean countryMode)
public boolean areAllItemsEnabled()
ListAdapter
areAllItemsEnabled
in interface ListAdapter
areAllItemsEnabled
in class BaseAdapter
ListAdapter.isEnabled(int)
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 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 int getCount()
Adapter
public Object getItem(int position)
Adapter
public long getItemId(int position)
Adapter
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 sort(LocaleHelper.LocaleInfoComparator comp)
comp
- The locale-aware comparator to use.public Filter getFilter()
Filterable
Returns a filter that can be used to constrain data with a filtering pattern.
This method is usually implemented by Adapter
classes.
getFilter
in interface Filterable