实际上,检查源代码,你最终会做同样的事情。
Fragment.getLoaderManager:
/**
* Return the LoaderManager for this fragment, creating it if needed.
*/
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(mWho, mLoadersStarted, true);
return mLoaderManager;
}
mWho
基本上是片段ID。
final void setIndex(int index, Fragment parent) {
mIndex = index;
if (parent != null) {
mWho = parent.mWho + ":" + mIndex;
} else {
mWho = "android:fragment:" + mIndex;
}
}
不同之Activity.getLoaderManager()
处在于谁将成为(root)
因此,即使您可以按照您的要求进行操作,直接从 Fragment 调用它也可能是一种更好的方法
免责声明:我只检查了最新版本的源代码,但我不希望它有很大的不同