现在我想创建几个不同类型的AsyncTaskLoader。
一个可能是:
public Loader<List<Category>> onCreateLoader(int id, final Bundle args) {
...
}
另一个可能是:
public Loader<BigInteger> onCreateLoader(int id, final Bundle args) {
...
}
我读到了帖子LoaderManager with multiple loaders: how to get the right cursorloader,但只是检查ID不符合我的情况。
我应该在活动中创建两组已实现的方法来支持这两个加载器吗?
答案 0 :(得分:2)
你没有 让你的片段继承回调,这在最简单的情况下很方便。如果有不同的Loader类型,则需要为每种类型创建本地Callbacks实现。由于类型擦除,这是使用多个加载器类型而没有类型检查和转换的丑陋混乱的唯一方法。回调将是您的片段的成员,您将把它们传递给initLoader()方法。