0

我正在尝试让自定义 CursorAdapter 正常工作。我的代码目前似乎运行良好。但基于 Android 文档,我担心它可能会以微妙的方式出错。

public class MyArrayAdapter extends CursorAdapter  {
    public MyArrayAdapter(Activity context, Cursor cursor) {
        super(context, cursor, false); 
        ....
    }
    ...
}

该构造函数的注释为:

“允许控制自动重新查询的构造函数。建议您不要使用它,而是使用 CursorAdapter(Context, Cursor, int)。使用此构造函数时,将始终设置 FLAG_REGISTER_CONTENT_OBSERVER。”

并且 FLAG_REGISTER_CONTENT_OBSERVER 文档说:

“使用此标志时要小心:您需要从适配器取消设置当前光标,以避免由于其注册的观察者而导致泄漏。”

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

我正在寻找解释使用上述构造函数的影响是什么,以及如何正确处理这些影响,或者寻找替代实现。我究竟如何“从适配器取消当前光标”?

相关问题,指向兼容包:

SimpleCursorAdapter 的替代品?

我要使用什么 CursorAdapter?

4

0 回答 0