我知道这是一个基本问题,但我已经看到使用方法getApplicationContext()在"this"关键字不起作用的地方获取上下文,尤其是在onClickListener中。这是为什么呢?
对于 OnClickListener,this
是 OnClickListener 的匿名类,因此不是上下文。
而调用该方法有效,因为它来自 Activity 类。
或者,MyActivity.this
也可以工作。
getActivity()
:在Fragment
内用于获取当前关联的活动的上下文。
this
:返回调用它的当前块的上下文。如果在onClickListener
内调用它,那么它将返回该侦听器的上下文,而不是活动。
MyActivity.this
:返回活动的上下文。这可以在getActivity()
的地方作为替代使用。("我的活动"应读作您正在使用的活动名称)。