我可能会离开这里,但我有一个ArrayAdapter管理ListFragment的静态数据.很简单的东西.但是,我有兴趣利用新的LoaderManager类.我还可以使用我的ArrayAdapter并编写自己的加载器吗?文件似乎表明这是真的:
"...最常见的用途是使用CursorLoader,但应用程序可以自由编写自己的加载器来加载其他类型的数据."
如果是这种情况,我如何使用重写的LoaderManager.LoaderCallbacks接口方法?
@Override
public Loader<Cursor> onCreateLoader(int arg0, Bundle arg1) {return null;}
@Override
public void onLoadFinished(Loader<Cursor> arg0, Cursor arg1) {}
@Override
public void onLoaderReset(Loader<Cursor> arg0) {}
Run Code Online (Sandbox Code Playgroud)
如果要创建新类型的Loader,则可能需要为数据使用不同的类型而不是Cursor(除非您的新加载器也返回Cursors).
你的回调应该是这样的
@Override
public Loader<MyDataType> onCreateLoader(int id, Bundle args) {
return new MyCustomLoader(...);
}
@Override
public void onLoadFinished(Loader<MyDataType> loader, MyDataType data) {
myArrayAdapter.add(data.something()); // etc
}
@Override
public void onLoaderReset(Loader<MyDataType> loader) {
myArrayAdapter.clear();
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
4702 次 |
| 最近记录: |