CursorAdapter 有 3 个构造函数。让我们看看指南和参考。
1)CursorAdapter(上下文上下文,光标c)
此构造函数已弃用。不鼓励使用此选项,因为它会导致在应用程序的 UI 线程上执行游标查询,从而导致响应速度不佳甚至应用程序无响应错误。作为替代方案,将 LoaderManager 与 CursorLoader 一起使用。
2)CursorAdapter(上下文上下文,Cursor c,布尔自动重新查询)
允许控制自动重新查询的构造函数。建议您不要使用 this,而是使用 CursorAdapter(Context, Cursor, int)。
3)CursorAdapter(上下文上下文,光标c,int标志)
推荐的构造函数。
flags 用于确定适配器行为的标志;可以是 FLAG_AUTO_REQUERY 和 FLAG_REGISTER_CONTENT_OBSERVER 的任意组合。
FLAG_AUTO_REQUERY 此常量已弃用。不鼓励使用此选项,因为它会导致在应用程序的 UI 线程上执行游标查询,从而导致响应速度不佳甚至应用程序无响应错误。作为替代方案,将 LoaderManager 与 CursorLoader 一起使用。
FLAG_REGISTER_CONTENT_OBSERVER。将 CursorAdapter 与 CursorLoader 一起使用时,不需要此标志。
CursorAdapter(Context context, Cursor c, int flags) 是推荐的构造函数,但可能的标志是 2,一个已弃用,另一个在使用带有 CursorLoader 的 CursorAdapter 时不需要。如果我将 CursorAdapter 与 CursorLoader 一起使用,我必须使用此构造函数并将零作为标志传递?在这种情况下,构造函数是否与 #1 相同?