Android中的getApplicationContext()与此之间的区别

时间:2016-06-05 18:31:43

标签: android onclicklistener

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

2 个答案:

答案 0 :(得分:1)

对于OnClickListener,this是OnClickListener的匿名类,因此不是Context。

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

或者,MyActivity.this也适用。

答案 1 :(得分:1)

getActivity() :在Fragment内使用,以获取当前与之关联的活动的上下文。

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

MyActivity.this返回活动的上下文。这可以在getActivity()的位置用作替代。 (应将MyActivity读作您正在使用的活动名称。)