支持库中Fragment
中的getContext()
和getActivity()
有什么不同?
它们总是返回相同的对象吗? (与当前 fragment 相关的 Activity )
最佳答案
在大多数情况下没有区别但是 ...
所以最初 Fragments
托管在 FragmentsActivity
中,然后获取 Context
一个称为 getActivity()
。
刚刚检查了源代码,Fragments
现在可以由任何实现 FragmentHostCallback 的人托管界面。我认为这在支持库版本 23 中发生了变化。
使用较新版本的支持库时,当 Fragment
不是由 Activity
托管时,您可以在调用 getActivity()
时获取不同的对象和 getContext()
.
当您调用 getActivity()
时,您会得到一个 Activity
,它也是一个 Context
。
但是当你调用 getContext
时,你会得到一个可能不是 Activity
的 Context
。
关于android - 支持库中 Fragment 的 getContext 和 getActivity 有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32227146/