public class UserAdapter extends Object implements SpinnerAdapter, ListAdapter
Modifier and Type | Class and Description |
---|---|
static class |
UserAdapter.UserDetails
Holder for user details
|
IGNORE_ITEM_VIEW_TYPE, NO_SELECTION
Constructor and Description |
---|
UserAdapter(Context context,
ArrayList<UserAdapter.UserDetails> users) |
Modifier and Type | Method and Description |
---|---|
boolean |
areAllItemsEnabled()
Indicates whether all the items in this adapter are enabled.
|
static UserAdapter |
createUserAdapter(UserManager userManager,
Context context,
List<UserHandle> userProfiles) |
static UserAdapter |
createUserSpinnerAdapter(UserManager userManager,
Context context)
Creates a
UserAdapter if there is more than one profile on the device. |
int |
getCount()
How many items are in the data set represented by this Adapter.
|
View |
getDropDownView(int position,
View convertView,
ViewGroup parent)
Gets a
View that displays in the drop down popup
the data at the specified position in the data set. |
UserAdapter.UserDetails |
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. |
UserHandle |
getUserHandle(int position) |
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 |
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.
|
void |
unregisterDataSetObserver(DataSetObserver observer)
Unregister an observer that has previously been registered with this
adapter via
Adapter.registerDataSetObserver(android.database.DataSetObserver) . |
public UserAdapter(Context context, ArrayList<UserAdapter.UserDetails> users)
public UserHandle getUserHandle(int position)
public View getDropDownView(int position, View convertView, ViewGroup parent)
SpinnerAdapter
View
that displays in the drop down popup
the data at the specified position in the data set.getDropDownView
in interface SpinnerAdapter
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 toView
corresponding to the data at the
specified position.public void registerDataSetObserver(DataSetObserver observer)
Adapter
registerDataSetObserver
in interface Adapter
observer
- the object that gets notified when the data set changes.public void unregisterDataSetObserver(DataSetObserver observer)
Adapter
Adapter.registerDataSetObserver(android.database.DataSetObserver)
.unregisterDataSetObserver
in interface Adapter
observer
- the object to unregister.public int getCount()
Adapter
public UserAdapter.UserDetails getItem(int position)
Adapter
public long getItemId(int position)
Adapter
public boolean hasStableIds()
Adapter
hasStableIds
in interface 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 int getItemViewType(int position)
Adapter
Adapter.getView(int, android.view.View, android.view.ViewGroup)
for the specified item.getItemViewType
in interface Adapter
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
public boolean isEmpty()
isEmpty
in interface Adapter
public boolean areAllItemsEnabled()
ListAdapter
areAllItemsEnabled
in interface ListAdapter
ListAdapter.isEnabled(int)
public boolean isEnabled(int position)
ListAdapter
ArrayIndexOutOfBoundsException
should be thrown in that case for fast failure.isEnabled
in interface ListAdapter
position
- Index of the itemListAdapter.areAllItemsEnabled()
public static UserAdapter createUserSpinnerAdapter(UserManager userManager, Context context)
UserAdapter
if there is more than one profile on the device.
The adapter can be used to populate a spinner that switches between the Settings app on the different profiles.
UserAdapter
or null if there is only one profile.public static UserAdapter createUserAdapter(UserManager userManager, Context context, List<UserHandle> userProfiles)