SimpleAdapter
open class SimpleAdapter : BaseAdapter, Filterable, ThemedSpinnerAdapter
kotlin.Any | ||
↳ | 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 android.widget.SimpleAdapter.ViewBinder
is available, ViewBinder#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:
- A view that implements Checkable (e.g. CheckBox). The expected bind value is a boolean.
- TextView. The expected bind value is a string and
setViewText(android.widget.TextView,java.lang.String)
is invoked. - ImageView. The expected bind value is a resource id or a string and
setViewImage(android.widget.ImageView,int)
orsetViewImage(android.widget.ImageView,java.lang.String)
is invoked.
IllegalStateException
is thrown.
Summary
Nested classes | |
---|---|
abstract |
This class can be used by external clients of SimpleAdapter to bind values to views. |
Public constructors | |
---|---|
SimpleAdapter(context: Context!, data: MutableList<out MutableMap<String!, *>!>!, resource: Int, from: Array<String!>!, to: IntArray!) Constructor |
Public methods | |
---|---|
open Int |
getCount() |
open View! |
getDropDownView(position: Int, convertView: View!, parent: ViewGroup!) |
open Resources.Theme? | |
open Filter! | |
open Any! | |
open Long | |
open View! | |
open SimpleAdapter.ViewBinder! |
Returns the |
open Unit |
setDropDownViewResource(resource: Int) Sets the layout resource to create the drop down views. |
open Unit |
setDropDownViewTheme(theme: Resources.Theme?) Sets the |
open Unit |
setViewBinder(viewBinder: SimpleAdapter.ViewBinder!) Sets the binder used to bind data to views. |
open Unit |
setViewImage(v: ImageView!, value: Int) 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. |
open Unit |
setViewImage(v: ImageView!, value: String!) 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. |
open Unit |
setViewText(v: TextView!, text: String!) 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 functions | |
---|---|
Public constructors
SimpleAdapter
SimpleAdapter(
context: Context!,
data: MutableList<out MutableMap<String!, *>!>!,
resource: Int,
from: Array<String!>!,
to: IntArray!)
Constructor
Parameters | |
---|---|
context |
Context!: The context where the View associated with this SimpleAdapter is running |
data |
MutableList<out MutableMap<String!, *>!>!: 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 |
Array<String!>!: A list of column names that will be added to the Map associated with each item. |
to |
IntArray!: 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
getDropDownView
open fun getDropDownView(
position: Int,
convertView: View!,
parent: ViewGroup!
): View!
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 |
Return | |
---|---|
View! |
a android.view.View corresponding to the data at the specified position. |
getDropDownViewTheme
open fun getDropDownViewTheme(): Resources.Theme?
Return | |
---|---|
Resources.Theme? |
the Resources.Theme against which drop-down views are inflated, or null if one has not been explicitly set |
getFilter
open fun getFilter(): Filter!
Return | |
---|---|
Filter! |
a filter used to constrain data |
getItem
open fun getItem(position: Int): Any!
Parameters | |
---|---|
position |
Int: Position of the item whose data we want within the adapter's data set. |
Return | |
---|---|
Any! |
The data at the specified position. |
See Also
getItemId
open fun getItemId(position: Int): Long
Parameters | |
---|---|
position |
Int: The position of the item within the adapter's data set whose row id we want. |
Return | |
---|---|
Long |
The id of the item at the specified position. |
getView
open fun getView(
position: Int,
convertView: View!,
parent: ViewGroup!
): View!
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 |
Return | |
---|---|
View! |
A View corresponding to the data at the specified position. |
getViewBinder
open fun getViewBinder(): SimpleAdapter.ViewBinder!
Returns the ViewBinder
used to bind data to views.
Return | |
---|---|
SimpleAdapter.ViewBinder! |
a ViewBinder or null if the binder does not exist |
setDropDownViewResource
open fun setDropDownViewResource(resource: Int): Unit
Sets the layout resource to create the drop down views.
Parameters | |
---|---|
resource |
Int: the layout resource defining the drop down views |
setDropDownViewTheme
open fun setDropDownViewTheme(theme: Resources.Theme?): Unit
Sets the android.content.res.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 |
setViewBinder
open fun setViewBinder(viewBinder: SimpleAdapter.ViewBinder!): Unit
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
open fun setViewImage(
v: ImageView!,
value: Int
): Unit
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(android.widget.ImageView,java.lang.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
open fun setViewImage(
v: ImageView!,
value: String!
): Unit
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(android.widget.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
open fun setViewText(
v: TextView!,
text: String!
): Unit
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 |