getContext() 和 getActivity() 之间有什么区别?
What is the difference between this, getContext() and getActivity()?
我对所有这些的用法感到很困惑,我们应该在哪里使用它们。
Activity 是 Context 的子类,因此无论何时需要上下文,都可以给出。
getActivity()
至少是 Fragment 上的一种方法,用于获取它所附加的 activity。
每当 activity 的实例方法中需要上下文时,您可以使用 this
.
每当需要上下文信息或需要显示内容时,都需要上下文。
这个 - return self reference
getContext() - return Context
得到Activity() - return Activity
上下文。
Quote from original answer :
顾名思义,它是 application/object 当前状态的上下文。它让新创建的对象了解发生了什么。通常调用它是为了获取有关程序另一部分的信息 (activity, package/application)
Activity
Activity是支持屏幕的Java代码或UI。换句话说,用户界面的构建块是activity。
Activity class 是 Android 中的预定义 class,每个具有 UI 的应用程序都必须继承它才能创建 window。 Activity 表示 Android 应用程序的表示层,例如用户看到的屏幕。 Android 应用程序可以有多个活动,并且可以在应用程序运行期间在它们之间切换。
Note : Activity extends Context. Context not an Activity.
getContext():
是Viewclass中的方法,只能在继承Viewclass的class中访问,return是什么Activity 上下文当前视图在 运行 中。
getActivity():
Returns 片段所附加的 Activity 对象。不推荐Fragment中的getActivity()的原因如下:该方法会将returnActivity附加到当前Fragment。当 Fragment 生命周期结束并被销毁时,getActivity() returns null,因此需要处理使用 getActivity() 时可能出现的 null 情况。
我对所有这些的用法感到很困惑,我们应该在哪里使用它们。
Activity 是 Context 的子类,因此无论何时需要上下文,都可以给出。
getActivity()
至少是 Fragment 上的一种方法,用于获取它所附加的 activity。
每当 activity 的实例方法中需要上下文时,您可以使用 this
.
每当需要上下文信息或需要显示内容时,都需要上下文。
这个 - return self reference
getContext() - return Context
得到Activity() - return Activity
上下文。
Quote from original answer :
顾名思义,它是 application/object 当前状态的上下文。它让新创建的对象了解发生了什么。通常调用它是为了获取有关程序另一部分的信息 (activity, package/application)
Activity
Activity是支持屏幕的Java代码或UI。换句话说,用户界面的构建块是activity。 Activity class 是 Android 中的预定义 class,每个具有 UI 的应用程序都必须继承它才能创建 window。 Activity 表示 Android 应用程序的表示层,例如用户看到的屏幕。 Android 应用程序可以有多个活动,并且可以在应用程序运行期间在它们之间切换。
Note : Activity extends Context. Context not an Activity.
getContext():
是Viewclass中的方法,只能在继承Viewclass的class中访问,return是什么Activity 上下文当前视图在 运行 中。
getActivity():
Returns 片段所附加的 Activity 对象。不推荐Fragment中的getActivity()的原因如下:该方法会将returnActivity附加到当前Fragment。当 Fragment 生命周期结束并被销毁时,getActivity() returns null,因此需要处理使用 getActivity() 时可能出现的 null 情况。