Skip to content

Most visited

Recently visited

navigation
Added in API level 1

SimpleAdapter

public class SimpleAdapter
extends BaseAdapter implements Filterable, ThemedSpinnerAdapter

java.lang.Object
   ↳ android.widget.BaseAdapter
     ↳ android.widget.SimpleAdapter


An easy adapter to map static data to views defined in an XML file. You can specify the data backing the list as an ArrayList of Maps. Each entry in the ArrayList corresponds to one row in the list. The Maps contain the data for each row. You also specify an XML file that defines the views used to display the row, and a mapping from keys in the Map to specific views. Binding data to views occurs in two phases. First, if a SimpleAdapter.ViewBinder is available, setViewValue(android.view.View, Object, String) is invoked. If the returned value is true, binding has occurred. If the returned value is false, the following views are then tried in order:

If no appropriate binding can be found, an IllegalStateException is thrown.

Summary

Nested classes

interface SimpleAdapter.ViewBinder

This class can be used by external clients of SimpleAdapter to bind values to views. 

Inherited constants

From interface android.widget.Adapter

Public constructors

SimpleAdapter(Context context, List<? extends Map<String, ?>> data, int resource, String[] from, int[] to)

Constructor

Public methods

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.

Resources.Theme getDropDownViewTheme()

Returns the value previously set by a call to setDropDownViewTheme(Theme).

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.

View getView(int position, View convertView, ViewGroup parent)

Get a View that displays the data at the specified position in the data set.

SimpleAdapter.ViewBinder getViewBinder()

Returns the SimpleAdapter.ViewBinder used to bind data to views.

void setDropDownViewResource(int resource)

Sets the layout resource to create the drop down views.

void setDropDownViewTheme(Resources.Theme theme)

Sets the Resources.Theme against which drop-down views are inflated.

void setViewBinder(SimpleAdapter.ViewBinder viewBinder)

Sets the binder used to bind data to views.

void setViewImage(ImageView v, int value)

Called by bindView() to set the image for an ImageView but only if there is no existing ViewBinder or if the existing ViewBinder cannot handle binding to an ImageView.

void setViewImage(ImageView v, String value)

Called by bindView() to set the image for an ImageView but only if there is no existing ViewBinder or if the existing ViewBinder cannot handle binding to an ImageView.

void setViewText(TextView v, String text)

Called by bindView() to set the text for a TextView but only if there is no existing ViewBinder or if the existing ViewBinder cannot handle binding to a TextView.

Inherited methods

From class android.widget.BaseAdapter
From class java.lang.Object
From interface android.widget.ListAdapter
From interface android.widget.SpinnerAdapter
From interface android.widget.Filterable
From interface android.widget.ThemedSpinnerAdapter
From interface android.widget.Adapter

Public constructors

SimpleAdapter

Added in API level 1
SimpleAdapter (Context context, 
                List<? extends Map<String, ?>> data, 
                int resource, 
                String[] from, 
                int[] to)

Constructor

Parameters
context Context: The context where the View associated with this SimpleAdapter is running
data List: A List of Maps. Each entry in the List corresponds to one row in the list. The Maps contain the data for each row, and should include all the entries specified in "from"
resource int: Resource identifier of a view layout that defines the views for this list item. The layout file should include at least those named views defined in "to"
from String: A list of column names that will be added to the Map associated with each item.
to int: The views that should display column in the "from" parameter. These should all be TextViews. The first N views in this list are given the values of the first N columns in the from parameter.

Public methods

getCount

Added in API level 1
int getCount ()

How many items are in the data set represented by this Adapter.

Returns
int Count of items.

See also:

getDropDownView

Added in API level 1
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.

Parameters
position int: index of the item whose view we want.
convertView View: 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 ViewGroup: the parent that this view will eventually be attached to
Returns
View a View corresponding to the data at the specified position.

getDropDownViewTheme

Added in API level 23
Resources.Theme getDropDownViewTheme ()

Returns the value previously set by a call to setDropDownViewTheme(Theme).

Returns
Resources.Theme the Resources.Theme against which drop-down views are inflated, or null if one has not been explicitly set

getFilter

Added in API level 1
Filter getFilter ()

Returns a filter that can be used to constrain data with a filtering pattern.

This method is usually implemented by Adapter classes.

Returns
Filter a filter used to constrain data

getItem

Added in API level 1
Object getItem (int position)

Get the data item associated with the specified position in the data set.

Parameters
position int: Position of the item whose data we want within the adapter's data set.
Returns
Object The data at the specified position.

See also:

getItemId

Added in API level 1
long getItemId (int position)

Get the row id associated with the specified position in the list.

Parameters
position int: The position of the item within the adapter's data set whose row id we want.
Returns
long The id of the item at the specified position.

See also:

getView

Added in API level 1
View getView (int position, 
                View convertView, 
                ViewGroup parent)

Get a View that displays the data at the specified position in the data set. You can either create a View manually or inflate it from an XML layout file. When the View is inflated, the parent View (GridView, ListView...) will apply default layout parameters unless you use inflate(int, android.view.ViewGroup, boolean) to specify a root view and to prevent attachment to the root.

Parameters
position int: The position of the item within the adapter's data set of the item whose view we want.
convertView View: 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 getViewTypeCount() and getItemViewType(int)).
parent ViewGroup: The parent that this view will eventually be attached to
Returns
View A View corresponding to the data at the specified position.

See also:

getViewBinder

Added in API level 1
SimpleAdapter.ViewBinder getViewBinder ()

Returns the SimpleAdapter.ViewBinder used to bind data to views.

Returns
SimpleAdapter.ViewBinder a ViewBinder or null if the binder does not exist

See also:

setDropDownViewResource

Added in API level 1
void setDropDownViewResource (int resource)

Sets the layout resource to create the drop down views.

Parameters
resource int: the layout resource defining the drop down views

See also:

setDropDownViewTheme

Added in API level 23
void setDropDownViewTheme (Resources.Theme theme)

Sets the Resources.Theme against which drop-down views are inflated.

By default, drop-down views are inflated against the theme of the Context passed to the adapter's constructor.

Parameters
theme Resources.Theme: the theme against which to inflate drop-down views or null to use the theme from the adapter's context

See also:

setViewBinder

Added in API level 1
void setViewBinder (SimpleAdapter.ViewBinder viewBinder)

Sets the binder used to bind data to views.

Parameters
viewBinder SimpleAdapter.ViewBinder: the binder used to bind data to views, can be null to remove the existing binder

See also:

setViewImage

Added in API level 1
void setViewImage (ImageView v, 
                int value)

Called by bindView() to set the image for an ImageView but only if there is no existing ViewBinder or if the existing ViewBinder cannot handle binding to an ImageView. This method is called instead of setViewImage(ImageView, String) if the supplied data is an int or Integer.

Parameters
v ImageView: ImageView to receive an image
value int: the value retrieved from the data set

See also:

setViewImage

Added in API level 1
void setViewImage (ImageView v, 
                String value)

Called by bindView() to set the image for an ImageView but only if there is no existing ViewBinder or if the existing ViewBinder cannot handle binding to an ImageView. By default, the value will be treated as an image resource. If the value cannot be used as an image resource, the value is used as an image Uri. This method is called instead of setViewImage(ImageView, int) if the supplied data is not an int or Integer.

Parameters
v ImageView: ImageView to receive an image
value String: the value retrieved from the data set

See also:

setViewText

Added in API level 1
void setViewText (TextView v, 
                String text)

Called by bindView() to set the text for a TextView but only if there is no existing ViewBinder or if the existing ViewBinder cannot handle binding to a TextView.

Parameters
v TextView: TextView to receive text
text String: the text to be set for the TextView
This site uses cookies to store your preferences for site-specific language and display options.

Hooray!

This class requires API level or higher

This doc is hidden because your selected API level for the documentation is . You can change the documentation API level with the selector above the left navigation.

For more information about specifying the API level your app requires, read Supporting Different Platform Versions.