Build 1.0_r1(from source)

android.widget
Class CursorAdapter

java.lang.Object
  extended by android.widget.BaseAdapter
      extended by android.widget.CursorAdapter
All Implemented Interfaces:
Adapter, CursorFilter.CursorFilterClient, Filterable, ListAdapter, SpinnerAdapter
Direct Known Subclasses:
ResourceCursorAdapter

public abstract class CursorAdapter
extends BaseAdapter
implements Filterable, CursorFilter.CursorFilterClient

Adapter that exposes data from a Cursor to a ListView widget. The Cursor must include a column named "_id" or this class will not work.


Field Summary
protected  boolean mAutoRequery
          This field should be made private, so it is hidden from the SDK.
protected  android.widget.CursorAdapter.ChangeObserver mChangeObserver
          This field should be made private, so it is hidden from the SDK.
protected  Context mContext
          This field should be made private, so it is hidden from the SDK.
protected  Cursor mCursor
          This field should be made private, so it is hidden from the SDK.
protected  CursorFilter mCursorFilter
          This field should be made private, so it is hidden from the SDK.
protected  DataSetObserver mDataSetObserver
          This field should be made private, so it is hidden from the SDK.
protected  boolean mDataValid
          This field should be made private, so it is hidden from the SDK.
protected  FilterQueryProvider mFilterQueryProvider
          This field should be made private, so it is hidden from the SDK.
protected  int mRowIDColumn
          This field should be made private, so it is hidden from the SDK.
 
Fields inherited from interface android.widget.Adapter
IGNORE_ITEM_VIEW_TYPE, NO_SELECTION
 
Constructor Summary
CursorAdapter(Context context, Cursor c)
          Constructor.
CursorAdapter(Context context, Cursor c, boolean autoRequery)
          Constructor
 
Method Summary
abstract  void bindView(View view, Context context, Cursor cursor)
          Bind an existing view to the data pointed to by cursor
 void changeCursor(Cursor cursor)
          Change the underlying cursor to a new cursor.
 CharSequence convertToString(Cursor cursor)
          Converts the cursor into a CharSequence.
 int getCount()
          How many items are in the data set represented by this Adapter.
 Cursor getCursor()
          Returns the cursor.
 View getDropDownView(int position, View convertView, ViewGroup parent)
          Get a View that displays in the drop down popup the data at the specified position in the data set.
 Filter getFilter()
          Returns a filter that can be used to constrain data with a filtering pattern.
 FilterQueryProvider getFilterQueryProvider()
          Returns the query filter provider used for filtering.
 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.
 boolean hasStableIds()
          Indicated whether the item ids are stable across changes to the underlying data.
protected  void init(Context context, Cursor c, boolean autoRequery)
           
 View newDropDownView(Context context, Cursor cursor, ViewGroup parent)
          Makes a new drop down view to hold the data pointed to by cursor.
abstract  View newView(Context context, Cursor cursor, ViewGroup parent)
          Makes a new view to hold the data pointed to by cursor.
 Cursor runQueryOnBackgroundThread(CharSequence constraint)
          Runs a query with the specified constraint.
 void setFilterQueryProvider(FilterQueryProvider filterQueryProvider)
          Sets the query filter provider used to filter the current Cursor.
 
Methods inherited from class android.widget.BaseAdapter
areAllItemsEnabled, getItemViewType, getViewTypeCount, isEmpty, isEnabled, notifyDataSetChanged, notifyDataSetInvalidated, registerDataSetObserver, unregisterDataSetObserver
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Field Detail

mDataValid

protected boolean mDataValid
This field should be made private, so it is hidden from the SDK.


mAutoRequery

protected boolean mAutoRequery
This field should be made private, so it is hidden from the SDK.


mCursor

protected Cursor mCursor
This field should be made private, so it is hidden from the SDK.


mContext

protected Context mContext
This field should be made private, so it is hidden from the SDK.


mRowIDColumn

protected int mRowIDColumn
This field should be made private, so it is hidden from the SDK.


mChangeObserver

protected android.widget.CursorAdapter.ChangeObserver mChangeObserver
This field should be made private, so it is hidden from the SDK.


mDataSetObserver

protected DataSetObserver mDataSetObserver
This field should be made private, so it is hidden from the SDK.


mCursorFilter

protected CursorFilter mCursorFilter
This field should be made private, so it is hidden from the SDK.


mFilterQueryProvider

protected FilterQueryProvider mFilterQueryProvider
This field should be made private, so it is hidden from the SDK.

Constructor Detail

CursorAdapter

public CursorAdapter(Context context,
                     Cursor c)
Constructor. The adapter will call requery() on the cursor whenever it changes so that the most recent data is always displayed.

Parameters:
c - The cursor from which to get the data.
context - The context

CursorAdapter

public CursorAdapter(Context context,
                     Cursor c,
                     boolean autoRequery)
Constructor

Parameters:
c - The cursor from which to get the data.
context - The context
autoRequery - If true the adapter will call requery() on the cursor whenever it changes so the most recent data is always displayed.
Method Detail

init

protected void init(Context context,
                    Cursor c,
                    boolean autoRequery)

getCursor

public Cursor getCursor()
Returns the cursor.

Specified by:
getCursor in interface CursorFilter.CursorFilterClient
Returns:
the cursor.

getCount

public final int getCount()
Description copied from interface: Adapter
How many items are in the data set represented by this Adapter.

Specified by:
getCount in interface Adapter
Returns:
Count of items.
See Also:
Adapter.getCount()

getItem

public final Object getItem(int position)
Description copied from interface: Adapter
Get the data item associated with the specified position in the data set.

Specified by:
getItem in interface Adapter
Parameters:
position - Position of the item whose data we want within the adapter's data set.
Returns:
The data at the specified position.
See Also:
Adapter.getItem(int)

getItemId

public final long getItemId(int position)
Description copied from interface: Adapter
Get the row id associated with the specified position in the list.

Specified by:
getItemId in interface Adapter
Parameters:
position - The position of the item within the adapter's data set whose row id we want.
Returns:
The id of the item at the specified position.
See Also:
Adapter.getItemId(int)

hasStableIds

public boolean hasStableIds()
Description copied from interface: Adapter
Indicated whether the item ids are stable across changes to the underlying data.

Specified by:
hasStableIds in interface Adapter
Overrides:
hasStableIds in class BaseAdapter
Returns:
True if the same id always refers to the same object.

getView

public View getView(int position,
                    View convertView,
                    ViewGroup parent)
Description copied from interface: Adapter
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 LayoutInflater.inflate(int, android.view.ViewGroup, boolean) to specify a root view and to prevent attachment to the root.

Specified by:
getView in interface Adapter
Parameters:
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.
parent - The parent that this view will eventually be attached to
Returns:
A View corresponding to the data at the specified position.
See Also:
Adapter.getView(int, View, ViewGroup)

getDropDownView

public View getDropDownView(int position,
                            View convertView,
                            ViewGroup parent)
Description copied from interface: SpinnerAdapter

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

Specified by:
getDropDownView in interface SpinnerAdapter
Overrides:
getDropDownView in class BaseAdapter
Parameters:
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 to
Returns:
a View corresponding to the data at the specified position.

newView

public abstract View newView(Context context,
                             Cursor cursor,
                             ViewGroup parent)
Makes a new view to hold the data pointed to by cursor.

Parameters:
context - Interface to application's global information
cursor - The cursor from which to get the data. The cursor is already moved to the correct position.
parent - The parent to which the new view is attached to
Returns:
the newly created view.

newDropDownView

public View newDropDownView(Context context,
                            Cursor cursor,
                            ViewGroup parent)
Makes a new drop down view to hold the data pointed to by cursor.

Parameters:
context - Interface to application's global information
cursor - The cursor from which to get the data. The cursor is already moved to the correct position.
parent - The parent to which the new view is attached to
Returns:
the newly created view.

bindView

public abstract void bindView(View view,
                              Context context,
                              Cursor cursor)
Bind an existing view to the data pointed to by cursor

Parameters:
view - Existing view, returned earlier by newView
context - Interface to application's global information
cursor - The cursor from which to get the data. The cursor is already moved to the correct position.

changeCursor

public void changeCursor(Cursor cursor)
Change the underlying cursor to a new cursor. If there is an existing cursor it will be closed.

Specified by:
changeCursor in interface CursorFilter.CursorFilterClient
Parameters:
cursor - the new cursor to be used

convertToString

public CharSequence convertToString(Cursor cursor)

Converts the cursor into a CharSequence. Subclasses should override this method to convert their results. The default implementation returns an empty String for null values or the default String representation of the value.

Specified by:
convertToString in interface CursorFilter.CursorFilterClient
Parameters:
cursor - the cursor to convert to a CharSequence
Returns:
a CharSequence representing the value

runQueryOnBackgroundThread

public Cursor runQueryOnBackgroundThread(CharSequence constraint)
Runs a query with the specified constraint. This query is requested by the filter attached to this adapter. The query is provided by a FilterQueryProvider. If no provider is specified, the current cursor is not filtered and returned. After this method returns the resulting cursor is passed to changeCursor(Cursor) and the previous cursor is closed. This method is always executed on a background thread, not on the application's main thread (or UI thread.) Contract: when constraint is null or empty, the original results, prior to any filtering, must be returned.

Specified by:
runQueryOnBackgroundThread in interface CursorFilter.CursorFilterClient
Parameters:
constraint - the constraint with which the query must be filtered
Returns:
a Cursor representing the results of the new query
See Also:
getFilter(), getFilterQueryProvider(), setFilterQueryProvider(android.widget.FilterQueryProvider)

getFilter

public Filter getFilter()
Description copied from interface: Filterable

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

This method is usually implemented by Adapter classes.

Specified by:
getFilter in interface Filterable
Returns:
a filter used to constrain data

getFilterQueryProvider

public FilterQueryProvider getFilterQueryProvider()
Returns the query filter provider used for filtering. When the provider is null, no filtering occurs.

Returns:
the current filter query provider or null if it does not exist
See Also:
setFilterQueryProvider(android.widget.FilterQueryProvider), runQueryOnBackgroundThread(CharSequence)

setFilterQueryProvider

public void setFilterQueryProvider(FilterQueryProvider filterQueryProvider)
Sets the query filter provider used to filter the current Cursor. The provider's FilterQueryProvider.runQuery(CharSequence) method is invoked when filtering is requested by a client of this adapter.

Parameters:
filterQueryProvider - the filter query provider or null to remove it
See Also:
getFilterQueryProvider(), runQueryOnBackgroundThread(CharSequence)

Build 1.0_r1(from source)

Please submit a feedback, bug or feature