public class SimpleCursorAdapter extends ResourceCursorAdapter
SimpleCursorAdapter
.
Used to write apps that run on platforms prior to Android 3.0. When running
on Android 3.0 or above, this implementation is still used; it does not try
to switch to the framework's implementation. See the framework SDK
documentation for a class overview.Modifier and Type | Class and Description |
---|---|
static interface |
SimpleCursorAdapter.CursorToStringConverter
This class can be used by external clients of SimpleCursorAdapter
to define how the Cursor should be converted to a String.
|
static interface |
SimpleCursorAdapter.ViewBinder
This class can be used by external clients of SimpleCursorAdapter
to bind values fom the Cursor to views.
|
Modifier and Type | Field and Description |
---|---|
protected int[] |
mFrom
A list of columns containing the data to bind to the UI.
|
protected int[] |
mTo
A list of View ids representing the views to which the data must be bound.
|
FLAG_AUTO_REQUERY, FLAG_REGISTER_CONTENT_OBSERVER, mAutoRequery, mChangeObserver, mContext, mCursor, mCursorFilter, mDataSetObserver, mDataValid, mFilterQueryProvider, mRowIDColumn
IGNORE_ITEM_VIEW_TYPE, NO_SELECTION
Constructor and Description |
---|
SimpleCursorAdapter(Context context,
int layout,
Cursor c,
String[] from,
int[] to)
Deprecated.
This option is discouraged, as it results in Cursor queries
being performed on the application's UI thread and thus can cause poor
responsiveness or even Application Not Responding errors. As an alternative,
use
LoaderManager with a CursorLoader . |
SimpleCursorAdapter(Context context,
int layout,
Cursor c,
String[] from,
int[] to,
int flags)
Standard constructor.
|
Modifier and Type | Method and Description |
---|---|
void |
bindView(View view,
Context context,
Cursor cursor)
Binds all of the field names passed into the "to" parameter of the
constructor with their corresponding cursor columns as specified in the
"from" parameter.
|
void |
changeCursorAndColumns(Cursor c,
String[] from,
int[] to)
Change the cursor and change the column-to-view mappings at the same time.
|
CharSequence |
convertToString(Cursor cursor)
Returns a CharSequence representation of the specified Cursor as defined
by the current CursorToStringConverter.
|
SimpleCursorAdapter.CursorToStringConverter |
getCursorToStringConverter()
Returns the converter used to convert the filtering Cursor
into a String.
|
int |
getStringConversionColumn()
Return the index of the column used to get a String representation
of the Cursor.
|
SimpleCursorAdapter.ViewBinder |
getViewBinder()
Returns the
SimpleCursorAdapter.ViewBinder used to bind data to views. |
void |
setCursorToStringConverter(SimpleCursorAdapter.CursorToStringConverter cursorToStringConverter)
Sets the converter used to convert the filtering Cursor
into a String.
|
void |
setStringConversionColumn(int stringConversionColumn)
Defines the index of the column in the Cursor used to get a String
representation of that Cursor.
|
void |
setViewBinder(SimpleCursorAdapter.ViewBinder viewBinder)
Sets the binder used to bind data to views.
|
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 an TextView.
|
Cursor |
swapCursor(Cursor c)
Swap in a new Cursor, returning the old Cursor.
|
newDropDownView, newView, setDropDownViewResource, setViewResource
changeCursor, getCount, getCursor, getDropDownView, getFilter, getFilterQueryProvider, getItem, getItemId, getView, hasStableIds, init, onContentChanged, runQueryOnBackgroundThread, setFilterQueryProvider
areAllItemsEnabled, getItemViewType, getViewTypeCount, isEmpty, isEnabled, notifyDataSetChanged, notifyDataSetInvalidated, registerDataSetObserver, unregisterDataSetObserver
protected int[] mFrom
protected int[] mTo
@Deprecated public SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to)
LoaderManager
with a CursorLoader
.public SimpleCursorAdapter(Context context, int layout, Cursor c, String[] from, int[] to, int flags)
context
- The context where the ListView associated with this
SimpleListItemFactory is runninglayout
- resource identifier of a layout file that defines the views
for this list item. The layout file should include at least
those named views defined in "to"c
- The database cursor. Can be null if the cursor is not available yet.from
- A list of column names representing the data to bind to the UI. Can be null
if the cursor is not available yet.to
- 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. Can be null if the cursor is not available yet.flags
- Flags used to determine the behavior of the adapter,
as per CursorAdapter.CursorAdapter(Context, Cursor, int)
.public void bindView(View view, Context context, Cursor cursor)
SimpleCursorAdapter.ViewBinder
is available,
SimpleCursorAdapter.ViewBinder.setViewValue(android.view.View, android.database.Cursor, int)
is invoked. If the returned value is true, binding has occured. If the
returned value is false and the view to bind is a TextView,
setViewText(TextView, String)
is invoked. If the returned value is
false and the view to bind is an ImageView,
setViewImage(ImageView, String)
is invoked. If no appropriate
binding can be found, an IllegalStateException
is thrown.bindView
in class CursorAdapter
view
- Existing view, returned earlier by newViewcontext
- Interface to application's global informationcursor
- The cursor from which to get the data. The cursor is already
moved to the correct position.IllegalStateException
- if binding cannot occurCursorAdapter.bindView(android.view.View,
android.content.Context, android.database.Cursor)
,
getViewBinder()
,
#setViewBinder(android.widget.SimpleCursorAdapter.ViewBinder)
,
setViewImage(ImageView, String)
,
setViewText(TextView, String)
public SimpleCursorAdapter.ViewBinder getViewBinder()
SimpleCursorAdapter.ViewBinder
used to bind data to views.bindView(android.view.View, android.content.Context, android.database.Cursor)
,
#setViewBinder(android.widget.SimpleCursorAdapter.ViewBinder)
public void setViewBinder(SimpleCursorAdapter.ViewBinder viewBinder)
viewBinder
- the binder used to bind data to views, can be null to
remove the existing binderbindView(android.view.View, android.content.Context, android.database.Cursor)
,
getViewBinder()
public void setViewImage(ImageView v, String value)
v
- ImageView to receive an imagevalue
- the value retrieved from the cursorpublic void setViewText(TextView v, String text)
v
- TextView to receive texttext
- the text to be set for the TextViewpublic int getStringConversionColumn()
CursorAdapter.convertToString(android.database.Cursor)
,
setStringConversionColumn(int)
,
#setCursorToStringConverter(android.widget.SimpleCursorAdapter.CursorToStringConverter)
,
getCursorToStringConverter()
public void setStringConversionColumn(int stringConversionColumn)
stringConversionColumn
- a valid index in the current Cursor or -1 to use the default
conversion mechanismCursorAdapter.convertToString(android.database.Cursor)
,
getStringConversionColumn()
,
#setCursorToStringConverter(android.widget.SimpleCursorAdapter.CursorToStringConverter)
,
getCursorToStringConverter()
public SimpleCursorAdapter.CursorToStringConverter getCursorToStringConverter()
SimpleCursorAdapter.CursorToStringConverter
#setCursorToStringConverter(android.widget.SimpleCursorAdapter.CursorToStringConverter)
,
getStringConversionColumn()
,
setStringConversionColumn(int)
,
CursorAdapter.convertToString(android.database.Cursor)
public void setCursorToStringConverter(SimpleCursorAdapter.CursorToStringConverter cursorToStringConverter)
cursorToStringConverter
- the Cursor to String converter, or
null to remove the converter#setCursorToStringConverter(android.widget.SimpleCursorAdapter.CursorToStringConverter)
,
getStringConversionColumn()
,
setStringConversionColumn(int)
,
CursorAdapter.convertToString(android.database.Cursor)
public CharSequence convertToString(Cursor cursor)
convertToString
in class CursorAdapter
cursor
- the Cursor to convert to a CharSequencepublic Cursor swapCursor(Cursor c)
CursorAdapter
CursorAdapter.changeCursor(Cursor)
, the returned old Cursor is not
closed.swapCursor
in class CursorAdapter
c
- The new cursor to be used.public void changeCursorAndColumns(Cursor c, String[] from, int[] to)
c
- The database cursor. Can be null if the cursor is not available yet.from
- A list of column names representing the data to bind to the UI. Can be null
if the cursor is not available yet.to
- 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. Can be null if the cursor is not available yet.