android - 支持库中 Fragment 的 getContext 和 getActivity 有什么不同?

标签 android

支持库中Fragment中的getContext()getActivity()有什么不同?

它们总是返回相同的对象吗? (与当前 fragment 相关的 Activity )

最佳答案

在大多数情况下没有区别但是 ...

所以最初 Fragments 托管在 FragmentsActivity 中,然后获取 Context 一个称为 getActivity()

刚刚检查了源代码,Fragments 现在可以由任何实现 FragmentHostCallback 的人托管界面。我认为这在支持库版本 23 中发生了变化。

使用较新版本的支持库时,当 Fragment 不是由 Activity 托管时,您可以在调用 getActivity() 时获取不同的对象和 getContext().

当您调用 getActivity() 时,您会得到一个 Activity,它也是一个 Context。 但是当你调用 getContext 时,你会得到一个可能不是 ActivityContext

关于android - 支持库中 Fragment 的 getContext 和 getActivity 有什么不同?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32227146/

相关文章:

android - 使用 PJSIP 编译 Openh264

java - 带有 Retrofit 的 POST 请求给 500

android - 如何使用 Robotium 从 ListView 中选择两个项目?

android - 发送 Intent 时检测目标应用程序

android - android @TargetApi注解是什么意思

android - 在 pre-honeycomb 设备上隐藏和显示操作栏

java - 错误 : Entities and Pojos must have a usable public constructor - Java

android - ontouch逐帧动画

android - 使用 AppCompat 在 5.0 之前的设备上设置 ActionBar 高度

android - 嵌入式动画,画圈和旋转图像