我的项目中需要一个 SimpleCursorAdapter。我在 2.3 版本中为此编写了代码。但我无法在 ICS 中添加它。它显示SimpleCursorAdapter(context, layout, c, from, to)已弃用,而新的是SimpleCursorAdapter(context, layout, c, from, to, flags).
其中包含一个新参数“flags”。我应该在标志的位置添加什么?这说明什么?
我的项目中需要一个 SimpleCursorAdapter。我在 2.3 版本中为此编写了代码。但我无法在 ICS 中添加它。它显示SimpleCursorAdapter(context, layout, c, from, to)已弃用,而新的是SimpleCursorAdapter(context, layout, c, from, to, flags).
其中包含一个新参数“flags”。我应该在标志的位置添加什么?这说明什么?
引用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 参数传递。