public abstract class CursorAdapter
extends BaseAdapter
implements Filterable
java.lang.Object | ||
↳ | android.widget.BaseAdapter | |
↳ | android.support.v4.widget.CursorAdapter |
Known Direct Subclasses |
Known Indirect Subclasses |
静态库支持版本的框架CursorAdapter
。 用于编写在Android 3.0之前的平台上运行的应用程序。 在Android 3.0或更高版本上运行时,此实现仍在使用; 它不会尝试切换到框架的实现。 请参阅框架SDK文档以了解类概述。
Constants |
|
---|---|
int |
FLAG_AUTO_REQUERY 这个常数已被弃用。 不鼓励使用此选项,因为它会导致在应用程序的UI线程上执行游标查询,因此可能导致响应性较差甚至出现应用程序无响应错误。 作为替代,使用 |
int |
FLAG_REGISTER_CONTENT_OBSERVER 如果设置了适配器,则会在光标上注册一个内容观察器,并在发送通知时调用 |
Inherited constants |
---|
From interface android.widget.Adapter
|
Public constructors |
|
---|---|
CursorAdapter(Context context, Cursor c) 此构造函数已弃用。 不鼓励使用此选项,因为它会导致在应用程序的UI线程上执行游标查询,因此可能导致响应性较差甚至出现应用程序无响应错误。 作为替代方案,请使用 |
|
CursorAdapter(Context context, Cursor c, boolean autoRequery) 允许控制自动重新查询的构造函数。 |
|
CursorAdapter(Context context, Cursor c, int flags) 推荐的构造函数。 |
Public methods |
|
---|---|
abstract void |
bindView(View view, Context context, Cursor cursor) 将现有视图绑定到光标指向的数据 |
void |
changeCursor(Cursor cursor) 将底层游标更改为新的游标。 |
CharSequence |
convertToString(Cursor cursor) 将光标转换为CharSequence。 |
int |
getCount() |
Cursor |
getCursor() 返回游标。 |
View |
getDropDownView(int position, View convertView, ViewGroup parent) |
Filter |
getFilter() 返回可用于使用过滤模式约束数据的过滤器。 |
FilterQueryProvider |
getFilterQueryProvider() 返回用于过滤的查询过滤器提供程序。 |
Object |
getItem(int position) |
long |
getItemId(int position) |
View |
getView(int position, View convertView, ViewGroup parent) |
boolean |
hasStableIds() 指示项目id在基础数据更改期间是否稳定。 |
View |
newDropDownView(Context context, Cursor cursor, ViewGroup parent) 创建一个新的下拉视图来保存指针指向的数据。 |
abstract View |
newView(Context context, Cursor cursor, ViewGroup parent) 创建一个新视图来保存指针指向的数据。 |
Cursor |
runQueryOnBackgroundThread(CharSequence constraint) 使用指定的约束运行查询。 |
void |
setFilterQueryProvider(FilterQueryProvider filterQueryProvider) 设置用于过滤当前游标的查询过滤器提供程序。 |
Cursor |
swapCursor(Cursor newCursor) 交换一个新的游标,返回旧的游标。 |
Protected methods |
|
---|---|
void |
init(Context context, Cursor c, boolean autoRequery) 此方法已弃用。 不要使用这个,使用正常的构造函数。 这将在未来被删除。 |
void |
onContentChanged() 当光标上的 |
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.Adapter
|
int FLAG_AUTO_REQUERY
这个常数已被弃用。
不鼓励使用此选项,因为它会导致在应用程序的UI线程上执行游标查询,因此可能导致响应性较差甚至出现应用程序无响应错误。 作为替代,请使用LoaderManager
和CursorLoader
。
如果设置了适配器,则会在传递内容更改通知时在光标上调用requery()。 意味着FLAG_REGISTER_CONTENT_OBSERVER
。
常数值:1(0x00000001)
int FLAG_REGISTER_CONTENT_OBSERVER
如果设置,适配器将在游标上注册一个内容观察者,并在通知进入时调用onContentChanged()
使用该标志时要小心:您需要从适配器中取消当前游标,以避免注册观察者造成泄漏。 使用带有CursorLoader
的CursorAdapter时,不需要此标志。
常量值:2(0x00000002)
CursorAdapter (Context context, Cursor c)
此构造函数已弃用。
不鼓励使用此选项,因为它会导致在应用程序的UI线程上执行游标查询,因此可能导致响应性较差甚至出现应用程序无响应错误。 作为替代方案,请使用LoaderManager
和CursorLoader
。
始终启用自动重新查询的构造函数。
Parameters | |
---|---|
context |
Context : The context |
c |
Cursor : The cursor from which to get the data. |
CursorAdapter (Context context, Cursor c, boolean autoRequery)
允许控制自动重新查询的构造函数。 建议你不要使用这个,而是CursorAdapter(Context, Cursor, int)
。 使用此构造函数时,将始终设置FLAG_REGISTER_CONTENT_OBSERVER
。
Parameters | |
---|---|
context |
Context : The context |
c |
Cursor : The cursor from which to get the data. |
autoRequery |
boolean : If true the adapter will call requery() on the cursor whenever it changes so the most recent data is always displayed. Using true here is discouraged. |
CursorAdapter (Context context, Cursor c, int flags)
推荐的构造函数。
Parameters | |
---|---|
context |
Context : The context |
c |
Cursor : The cursor from which to get the data. |
flags |
int : Flags used to determine the behavior of the adapter; may be any combination of FLAG_AUTO_REQUERY and FLAG_REGISTER_CONTENT_OBSERVER . |
void bindView (View view, Context context, Cursor cursor)
将现有视图绑定到光标指向的数据
Parameters | |
---|---|
view |
View : Existing view, returned earlier by newView |
context |
Context : Interface to application's global information |
cursor |
Cursor : The cursor from which to get the data. The cursor is already moved to the correct position. |
void changeCursor (Cursor cursor)
将底层游标更改为新的游标。 如果有一个现有的游标,它将被关闭。
Parameters | |
---|---|
cursor |
Cursor : The new cursor to be used |
CharSequence convertToString (Cursor cursor)
将光标转换为CharSequence。 子类应该重写此方法来转换它们的结果。 默认实现返回空值的空字符串或值的默认字符串表示形式。
Parameters | |
---|---|
cursor |
Cursor : the cursor to convert to a CharSequence |
Returns | |
---|---|
CharSequence |
a CharSequence representing the value |
View getDropDownView (int position, View convertView, ViewGroup parent)
获取一个 View
,它在下拉式弹出 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 |
Returns | |
---|---|
View |
a View corresponding to the data at the specified position. |
Filter getFilter ()
返回可用于使用过滤模式约束数据的过滤器。
该方法通常由 Adapter
类实现。
Returns | |
---|---|
Filter |
a filter used to constrain data |
FilterQueryProvider getFilterQueryProvider ()
返回用于过滤的查询过滤器提供程序。 当提供程序为空时,不会进行过滤。
Returns | |
---|---|
FilterQueryProvider |
the current filter query provider or null if it does not exist |
View getView (int position, View convertView, ViewGroup parent)
Parameters | |
---|---|
position |
int
|
convertView |
View
|
parent |
ViewGroup
|
Returns | |
---|---|
View |
boolean hasStableIds ()
指示项目id在基础数据更改期间是否稳定。
Returns | |
---|---|
boolean |
True if the same id always refers to the same object. |
View newDropDownView (Context context, Cursor cursor, ViewGroup parent)
创建一个新的下拉视图来保存指针指向的数据。
Parameters | |
---|---|
context |
Context : Interface to application's global information |
cursor |
Cursor : The cursor from which to get the data. The cursor is already moved to the correct position. |
parent |
ViewGroup : The parent to which the new view is attached to |
Returns | |
---|---|
View |
the newly created view. |
View newView (Context context, Cursor cursor, ViewGroup parent)
创建一个新视图来保存指针指向的数据。
Parameters | |
---|---|
context |
Context : Interface to application's global information |
cursor |
Cursor : The cursor from which to get the data. The cursor is already moved to the correct position. |
parent |
ViewGroup : The parent to which the new view is attached to |
Returns | |
---|---|
View |
the newly created view. |
Cursor runQueryOnBackgroundThread (CharSequence constraint)
使用指定的约束运行查询。 该查询由连接到此适配器的过滤器请求。 查询由FilterQueryProvider
提供。 如果未指定提供者,则不会过滤并返回当前游标。 在此方法返回后,将得到的光标传递给changeCursor(Cursor)
并关闭前一个光标。 此方法总是在后台线程上执行,而不是在应用程序的主线程(或UI线程)上执行。合约:当约束为空或空时,必须返回在任何过滤之前的原始结果。
Parameters | |
---|---|
constraint |
CharSequence : the constraint with which the query must be filtered |
Returns | |
---|---|
Cursor |
a Cursor representing the results of the new query |
void setFilterQueryProvider (FilterQueryProvider filterQueryProvider)
设置用于过滤当前游标的查询过滤器提供程序。 当此适配器的客户端请求过滤时,会调用提供者的方法runQuery(CharSequence)
。
Parameters | |
---|---|
filterQueryProvider |
FilterQueryProvider : the filter query provider or null to remove it |
Cursor swapCursor (Cursor newCursor)
交换一个新的游标,返回旧的游标。 与changeCursor(Cursor)
不同,返回的旧游标未关闭。
Parameters | |
---|---|
newCursor |
Cursor : The new cursor to be used. |
Returns | |
---|---|
Cursor |
Returns the previously set Cursor, or null if there wasa not one. If the given new Cursor is the same instance is the previously set Cursor, null is also returned. |
void init (Context context, Cursor c, boolean autoRequery)
此方法已弃用。
不要使用这个,使用正常的构造函数。 这将在未来被删除。
Parameters | |
---|---|
context |
Context
|
c |
Cursor
|
autoRequery |
boolean
|
void onContentChanged ()
当光标上的ContentObserver
收到更改通知时调用。 默认实现提供了自动重新查询逻辑,但可能会被子类覆盖。
也可以看看: