getLoaderManger()和getActivity()之间的差异。getSupportLoaderManager()内v4.app.Fragment [英] Difference between getLoaderManger() and getActivity().getSupportLoaderManager() inside v4.app.Fragment
问题描述
getLoaderManager()
从 android.support.v4.app.Fragment
和 getSupportLoaderManager ()
从 android.support.v4.app.FragmentActivity
难道他们返回同样的事情?在文档中我找不到它。如果不是,它应该可以与支持库从一个片段内部使用?
Do they return the same thing? I couldn't find it in the documentation. If not, which one should be used with the support library from inside a fragment?
推荐答案
他们返回同样的事情 - 一个 android.support.v4.app.LoaderManager
They return the exact same thing - a android.support.v4.app.LoaderManager
.
从源头code:<一href=\"http://grep$c$c.com/file/repository.grep$c$c.com/java/ext/com.google.android/android/5.0.0_r1/android/support/v4/app/Fragment.java#Fragment.getLoaderManager%28%29\"相对=nofollow> v4.app.Fragment
实际上回顾主机活动:
From the source code: v4.app.Fragment
is actually recalling the host activity:
public LoaderManager getLoaderManager() {
if (mLoaderManager != null) {
return mLoaderManager;
}
if (mActivity == null) {
throw new IllegalStateException(...);
}
mLoaderManager = mActivity.getLoaderManager(...);
return mLoaderManager;
}
您的活动是presumably延长<一个href=\"http://grep$c$c.com/file/repository.grep$c$c.com/java/ext/com.google.android/android/5.0.0_r1/android/support/v4/app/FragmentActivity.java#FragmentActivity.getSupportLoaderManager%28%29\"相对=nofollow> v4.app.FragmentActivity
,你可以看到 getLoaderManager()
是一个由 getSupportLoaderManager也被称为私有方法()
:
Your activity is presumably extending v4.app.FragmentActivity
and you can see that getLoaderManager()
is a private method called also by getSupportLoaderManager()
:
public LoaderManager getSupportLoaderManager() {
...
mLoaderManager = getLoaderManager(...);
return mLoaderManager;
}
所以:
- 要使用
v4.app.Fragment
S,你继承v4.app.FragmentActivity
(AppCompatActivity
只是一个例子); - 双方
v4.app.Fragment.getLoaderManager()
和v4.app.FragmentActivity.getSupportLoaderManager()
结束会调用完全相同的方法,v4.app.FragmentActivity.getLoaderManager()
。我是pretty确保这两者之间没有什么区别whatshoever。
- To use
v4.app.Fragment
s, you need to subclassv4.app.FragmentActivity
(AppCompatActivity
is just an example); - Both
v4.app.Fragment.getLoaderManager()
andv4.app.FragmentActivity.getSupportLoaderManager()
end up calling the same exact method,v4.app.FragmentActivity.getLoaderManager()
. I'm pretty sure there is no difference whatshoever between the two.
这篇关于getLoaderManger()和getActivity()之间的差异。getSupportLoaderManager()内v4.app.Fragment的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!