CursorAdapter有3个构造函数。让我们看一下指南和参考。
1)CursorAdapter(上下文上下文,光标c)
不推荐使用此构造函数。不建议使用此选项,因为它会导致在应用程序的UI上执行Cursor查询 线程因此可能导致响应能力差甚至应用程序不 回应错误。作为替代方案,使用带有的LoaderManager CursorLoader。
2)CursorAdapter(上下文上下文,Cursor c,boolean autoRequery)
允许控制自动重新查询的构造函数。 推荐 你不是使用这个,而是使用CursorAdapter(Context,Cursor,int)。
3)CursorAdapter(上下文上下文,Cursor c,int标志)
推荐的构造函数。
flags 用于确定适配器行为的标志;可以是FLAG_AUTO_REQUERY和的任意组合 FLAG_REGISTER_CONTENT_OBSERVER。
FLAG_AUTO_REQUERY 不推荐使用此常量。这个选项是 气馁,因为它会导致Cursor查询被执行 应用程序的UI线程,因此可能导致响应能力差甚至 应用程序无响应错误。作为替代方案,请使用 带有CursorLoader的LoaderManager。
FLAG_REGISTER_CONTENT_OBSERVER。 使用a时不需要此标志 带有CursorLoader的CursorAdapter。
CursorAdapter(Context context,Cursor c,int flags)是推荐的构造函数,但是可能的标志是2,当使用带有CursorLoader的CursorAdapter时,不推荐使用其中一个,而不需要另一个。如果我使用带有CursorLoader的CursorAdapter,我必须使用此构造函数并将零作为标志传递?在这种情况下构造函数与#1弃用相同吗?
答案 0 :(得分:6)
通过使用#1,它默认适配器为自动重新查询。这与#3不同,因为您可以指定是否要自动重新查询(根据文档,您不应该这样做)。所以,不,如果你传递#3构造函数0,#1和#3就不一样了。
答案 1 :(得分:1)
CursorAdapter
是一个抽象类,因此无法实例化。
另外,请记住第3个构造函数仅为API 11+。
答案 2 :(得分:0)
您需要使用LoaderManager和Loader进行迁移。
因为很可能所有人都会被弃用。所以最好将CursorLoader与LoaderManager和Loader一起使用
您可以在以下链接中找到示例项目,该链接可获取任何手机中安装的应用列表。
祝你好运..