Android + 将 LoaderManager 与 ArrayAdapter 一起使用?

标签 android

我可能离题太远了,但我有一个 ArrayAdapter 管理 ListFragment 的静态数据。非常简单的东西。但是,我对利用新的 LoaderManager 类很感兴趣。我还能使用我的 ArrayAdapter 并编写我自己的加载程序吗?文件似乎表明这是真的:

“...最常见的用法是与 CursorLoader 一起使用,但是应用程序可以自由编写自己的加载器来加载其他类型的数据。”

如果是这种情况,我该如何使用重写的 LoaderManager.LoaderCallbacks 接口(interface)方法?

@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) {}

最佳答案

如果您正在创建一种新类型的 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();
}

关于Android + 将 LoaderManager 与 ArrayAdapter 一起使用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7590161/

相关文章:

android - 帮助我使用 Fragment Android

android - 使用 react-native 启用电话设置

android - 在 ScrollView 中列出

java - 如何在 oncreate 之外访问 arraylist

java - 有没有办法可以将这些语句简化为几行代码?

android - 在不同的端口运行多个 react-native 应用程序

java - 在android中扩展dataOutputStream

android - 替换 fragment 后的空 View

android - 在两行ListView中列出联系信息

android - CMake 在 Android Studio SDK 工具中不可用