我不知道它们之间的区别,我有时使用this
,有时activityame.this
,有时getAplicationContext()
当android需要context
通过时。
问问题
1458 次
2 回答
10
- this指向当前对象。在这种情况下,一个
Activity
对象 - ActivityName.this也指向当前的
Activity
Object,当你在使用动态内部类时使用它,例如实例化一个新的 onClickListener() {}。 - getApplicationContext()获取
Context
整个应用程序的引用。Activity
是一个 Context 子类,但某些事情可能在应用程序 Context 和 Activity 之间有所不同。不过,在大多数情况下,使用 Activity 作为上下文可以正常工作,我还没有编写任何需要 getApplicationContext() 的代码。
于 2012-11-30T23:03:24.837 回答
0
this - 当你想引用你当前所在的对象时使用。例如,当你设置一个新类并且你想声明你的私有变量的初始值时,你可以这样做:
public class HelloWorld {
private String messageToPrint;
public HelloWorld(String message) {
this.messageToPrint = message;
}
}
getApplicationContext() - 返回当前进程的单个全局应用程序对象的上下文。有些类不能调用它,而且我从未使用过它,如果我需要获取我所在的 Activity 的上下文,我将使用:
Context con = getContext();
我也永远不会使用 getApplicationContext(); 并将其转换为您的 Application 类,因为您不能保证它会匹配。
另一个我不太确定^^
于 2012-11-30T23:05:36.727 回答