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