Android 不带兼容包的自定义游标适配器

Android 不带兼容包的自定义游标适配器,android,sqlite,android-cursoradapter,Android,Sqlite,Android Cursoradapter,我正在尝试让自定义游标适配器正常工作。我的代码目前似乎运行良好。但基于Android文档,我担心它可能在微妙的方面是错误的 public class MyArrayAdapter extends CursorAdapter { public MyArrayAdapter(Activity context, Cursor cursor) { super(context, cursor, false); .... } ... } 该构造函

我正在尝试让自定义游标适配器正常工作。我的代码目前似乎运行良好。但基于Android文档,我担心它可能在微妙的方面是错误的

public class MyArrayAdapter extends CursorAdapter  {
    public MyArrayAdapter(Activity context, Cursor cursor) {
        super(context, cursor, false); 
        ....
    }
    ...
}
该构造函数的注释如下:

允许控制自动重新查询的构造函数。建议这样做 您不使用它,而是使用CursorAdapterContext、Cursor、int。 使用此构造函数时,将显示标志\寄存器\内容\观察者 总是被设定好

标志(REGISTER)(REGISTER)(内容)(OBSERVER docs)表示:

使用此标志时要小心:您需要取消设置当前 将光标从适配器上移开,以避免由于其已注册的 观察员

事实证明,这是一个众所周知的问题,但我看到的所有建议的替代方案都指向兼容包或API11。我需要为v2.1编写代码,我希望避免在这个项目中使用兼容包

我想了解使用上述构造函数的影响是什么,以及如何正确处理这些影响,或者寻找替代实现。如何从适配器中取消设置当前光标

相关问题,指向兼容包:


你为什么不使用推荐的构造函数?@MisterSquonk-它需要API11或兼容包啊,对不起,现在我明白了。我通常会用API 8过滤dev docs页面,但最近我更改了它以查看一些后续内容。我可能错了,但要从适配器中取消光标,我会调用changeCursornull。根据v2.1的源代码,使用changeCursor。。。将关闭任何现有光标并注销内容和数据集观察员。有趣。你什么时候给我打电话?它应该在DB关闭前运行吗?我的活动只对一个查询使用一个游标,所以可能根本没有泄漏?