getLoaderManager()
from android.support.v4.app.Fragment
and getSupportLoaderManager()
from android.support.v4.app.FragmentActivity
他们返回同样的东西吗?我在文档中找不到它。如果没有,哪一个应该与片段内部的支持库一起使用?
他们返回完全相同的东西 - aandroid.support.v4.app.LoaderManager
.
从源代码来看:v4.app.Fragment http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.0_r1/android/support/v4/app/Fragment.java#Fragment.getLoaderManager%28%29实际上是在回忆宿主的活动:
public LoaderManager getLoaderManager() {
if (mLoaderManager != null) {
return mLoaderManager;
}
if (mActivity == null) {
throw new IllegalStateException(...);
}
mLoaderManager = mActivity.getLoaderManager(...);
return mLoaderManager;
}
您的活动可能正在延长v4.app.FragmentActivity http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/5.0.0_r1/android/support/v4/app/FragmentActivity.java#FragmentActivity.getSupportLoaderManager%28%29你可以看到getLoaderManager()
是一个私有方法,也被调用getSupportLoaderManager()
:
public LoaderManager getSupportLoaderManager() {
...
mLoaderManager = getLoaderManager(...);
return mLoaderManager;
}
So:
- To use
v4.app.Fragment
s,你需要子类化v4.app.FragmentActivity
(AppCompatActivity
只是一个例子);
- Both
v4.app.Fragment.getLoaderManager()
and v4.app.FragmentActivity.getSupportLoaderManager()
最终调用相同的方法,v4.app.FragmentActivity.getLoaderManager()
。我很确定两者之间没有任何区别。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)