2

我的项目中需要一个 SimpleCursorAdapter。我在 2.3 版本中为此编写了代码。但我无法在 ICS 中添加它。它显示SimpleCursorAdapter(context, layout, c, from, to)已弃用,而新的是SimpleCursorAdapter(context, layout, c, from, to, flags).

其中包含一个新参数“flags”。我应该在标志的位置添加什么?这说明什么?

4

1 回答 1

4

引用Android参考,flag参数如下:

public static final int **FLAG_AUTO_REQUERY**

自:API 级别 11

此常量已弃用。不鼓励使用此选项,因为它会导致在应用程序的 UI 线程上执行游标查询,从而可能导致响应速度不佳甚至应用程序无响应错误。作为替代方案,将 LoaderManager 与 CursorLoader 一起使用。

如果设置,适配器将在传递内容更改通知时调用游标上的 requery()。暗示

 FLAG_REGISTER_CONTENT_OBSERVER. Constant Value: 1 (0x00000001)

.

public static final int **FLAG_REGISTER_CONTENT_OBSERVER** 

自:API 级别 11

如果设置,适配器将在光标上注册一个内容观察者,并在收到通知时调用 onContentChanged()。使用此标志时要小心:您需要从适配器取消设置当前 Cursor 以避免由于其注册的观察者而导致泄漏. 将 CursorAdapter 与 CursorLoader 一起使用时,不需要此标志。常数值:2 (0x00000002)

但是,Honeycomb+ 的新模式是使用 cursorLoader 为您管理光标。在这种情况下,您将 0 作为 flags 参数传递。

阅读有关 CursorLoader + CursorAdapter 的更多信息(带有教程)

于 2012-04-10T09:28:15.313 回答