我只是想知道为什么android在写
时会出错AlertDialog.Builder builder = new AlertDialog.Builder(getApplicationContext());
是否正确。以及为什么它只在我们将this
作为参数时才有效。
AlertDialog.Builder builder = new AlertDialog.Builder(this);
答案 0 :(得分:3)
Application
是一个全局对象,因此它是Context
。应用程序上下文仅应用于需要Context
且与当前正在运行的组件无关的内容,例如Activity
。
在这种情况下,AlertDialog
是在Activity
内创建的(我假设),它只需要Activity
的上下文 - 因此您应该使用this
。原因是AlertDialog
的生命不在其父Activity
之外。