我创建了一个自定义CursorAdapter来与我的列表视图一起使用,并实现了LoaderManager.LoaderCallbacks函数来加载数据。
我的问题:在我的活动的onCreate()方法中,我想创建CursorAdapter的实例并将其设置为listview的适配器。 但是,由于LoaderManger尚未运行我的查询并返回了一个游标,所以我没有游标可传递到我的适配器的构造函数中。 如果传入null,则会得到null指针异常。
使用simpleCursorAdapter,如果尚未初始化,则可以传递空游标。 但是我扩展了CursorAdapter,它的行为并不相同。
我的问题:有没有办法将空游标传递给我的适配器? 当我的构造函数调用适配器的super(context,cursor)方法时,出现异常。 我在构造函数中什么也没做。
如果我延迟创建适配器(并因此将其设置为listview的适配器),直到从LoaderManger调用onLoadFinished(),一切都会很好,但是我认为这不是最好的方法。
我也看到了这个链接:
http://rajeevranganathan.blogspot.com/2012/07/creating-custom-cursor-adapter-and.html
在这里,他每次都会重新创建整个CursorAdapter,实质上是换出listview的适配器,而不仅仅是换出其光标-这似乎效率很低:您不必重新创建适配器,只需换出光标即可。
任何帮助将不胜感激。 我是否只需要扩展SimpleCursorAdapter并简单地忽略我不需要的所有其他参数?
谢谢!