3

现在我想创建几个不同类型的 AsyncTaskLoader。

一种可能是:

public Loader<List<Category>> onCreateLoader(int id, final Bundle args) {
    ...
}

另一种可能是:

public Loader<BigInteger> onCreateLoader(int id, final Bundle args) {
    ...
}

我读到了LoaderManager with multiple loader: how to get the right cursorloader 的帖子,但简单地检查 ID 不适合我的情况。

我应该只在活动中创建两组实现的方法来支持这两个加载器吗?

4

1 回答 1

2

您不必您的片段从回调继承,它只是在最简单的情况下很方便。当您有不同的 Loader 类型时,您需要为每种类型创建一个本地回调实现。由于类型擦除,这是使用多个加载器类型而无需进行类型检查和强制转换的唯一方法。回调将是您的片段的成员,您会将它们传递给 initLoader() 方法。

于 2013-09-07T05:43:30.387 回答