2

我的项目中需要一个SimpleCursorAdapter。我已经在2.3版本中编写了代码。但是我不能在ICS中添加这个。它显示SimpleCursorAdapter(context, layout, c, from, to)已过时,新的为SimpleCursorAdapter(context, layout, c, from, to, flags)ICS中的SimpleCursorAdapter

这里包含一个新的参数“flags”。 我应该添加什么标志的地方?这是什么意思?

+0

你也使用CursorLoader吗? – CjS 2012-04-10 09:20:48

回答

4

引述的Android参考,标志参数是以下的:

public static final int **FLAG_AUTO_REQUERY** 

自:API级别11

此常数弃用。不鼓励此选项,因为它会导致在应用程序的UI线程上执行游标查询,从而导致响应性较差,甚至导致应用程序未响应错误。作为替代,使用带有CursorLoader的LoaderManager。

如果设置,则只要传送 内容更改通知,适配器就会调用光标上的requery()。暗示

FLAG_REGISTER_CONTENT_OBSERVER. Constant Value: 1 (0x00000001) 

public static final int **FLAG_REGISTER_CONTENT_OBSERVER** 

自:API 等级11

如果设置适配器将注册光标内容观察者和 将调用onContentChanged()的时候通知进来小心 使用此标志时:您需要将 适配器中的当前光标取消设置,以避免由于其注册的观察者而导致泄漏。将CursorAdapter与CursorLoader一起使用时,不需要此标志 。常量 值:2(0x00000002)

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

Read more (with tutorials) on CursorLoader + CursorAdapter

+0

错误已经消失..但它仍然不起作用:(所有来自数据库的数据一次被选中.. – Deepzz 2012-06-18 11:19:25