4

我不知道它们之间的区别,我有时使用this,有时activityame.this,有时getAplicationContext()当android需要context通过时。

4

2 回答 2

10
  • this指向当前对象。在这种情况下,一个Activity对象
  • ActivityName.this也指向当前的ActivityObject,当你在使用动态内部类时使用它,例如实例化一个新的 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 回答