我发现我的 CursorLoader 回调正在混淆游标。
问题似乎是
Fragment.getLoaderManager() 与 getActivity().getSupportLoaderManager() 的加载器 id 范围相同
来自 AOSP
public LoaderManager getLoaderManager() {
if (mLoaderManager != null) {
return mLoaderManager;
}
if (mActivity == null) {
throw new IllegalStateException("Fragment " + this + " not attached to Activity");
}
mCheckedForLoaderManager = true;
mLoaderManager = mActivity.getLoaderManager(mIndex, mLoadersStarted, true);
return mLoaderManager;
}
所以我遇到的是我的片段之间的 ID 冲突,所以错误的光标希望跨越片段。
我需要一种策略来创建静态和/或动态(在动态数量的加载器的情况下)id,它们知道所有其他片段 id...?