getApplicationContext() 和 Android 中的 this 之间的区别



我知道这是一个基本问题,但我已经看到使用方法getApplicationContext()在"this"关键字不起作用的地方获取上下文,尤其是在onClickListener中。这是为什么呢?

对于 OnClickListener,this 是 OnClickListener 的匿名类,因此不是上下文。

而调用该方法有效,因为它来自 Activity 类。

或者,MyActivity.this也可以工作。

getActivity()Fragment内用于获取当前关联的活动的上下文。

this返回调用它的当前块的上下文。如果在onClickListener内调用它,那么它将返回该侦听器的上下文,而不是活动。

MyActivity.this:返回活动的上下文。这可以在getActivity()的地方作为替代使用。("我的活动"应读作您正在使用的活动名称)。

最新更新