public class PreferenceGroupAdapter extends BaseAdapter
Preference
contained in this group.
In most cases, this adapter should be the base class for any custom
adapters from Preference#getAdapter()
.
This adapter obeys the
Preference
's adapter rule (the
Adapter.getView(int, View, ViewGroup)
should be used instead of
Preference#getView(ViewGroup)
if a Preference
has an
adapter via Preference#getAdapter()
).
This adapter also propagates data change/invalidated notifications upward.
This adapter does not include this PreferenceGroup
in the returned
adapter, use PreferenceCategoryAdapter
instead.
PreferenceCategoryAdapter
IGNORE_ITEM_VIEW_TYPE, NO_SELECTION
Constructor and Description |
---|
PreferenceGroupAdapter(PreferenceGroup preferenceGroup) |
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.
|
Preference |
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 |
hasStableIds()
Indicates whether the item ids are stable across changes to the
underlying data.
|
boolean |
isEnabled(int position)
Returns true if the item at the specified position is not a separator.
|
void |
onPreferenceChange(Preference preference)
Called when this Preference has changed.
|
void |
onPreferenceHierarchyChange(Preference preference)
Called when this group has added/removed
Preference (s). |
void |
setHighlighted(int position) |
void |
setHighlightedDrawable(Drawable drawable) |
getDropDownView, isEmpty, notifyDataSetChanged, notifyDataSetInvalidated, registerDataSetObserver, unregisterDataSetObserver
public PreferenceGroupAdapter(PreferenceGroup preferenceGroup)
public int getCount()
Adapter
public Preference getItem(int position)
Adapter
public long getItemId(int position)
Adapter
public void setHighlighted(int position)
public void setHighlightedDrawable(Drawable drawable)
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 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 boolean areAllItemsEnabled()
ListAdapter
areAllItemsEnabled
in interface ListAdapter
areAllItemsEnabled
in class BaseAdapter
ListAdapter.isEnabled(int)
public void onPreferenceChange(Preference preference)
preference
- This preference.public void onPreferenceHierarchyChange(Preference preference)
Preference
(s).preference
- This Preference.public boolean hasStableIds()
Adapter
hasStableIds
in interface Adapter
hasStableIds
in class BaseAdapter
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