0

我是 Android 的新手,可能我要问的是一个非常愚蠢的问题..所以请原谅我

创建 AlertDialog.... 标准方法是调用

AlertDialog alertDialog = new AlertDialog.Builder(Context here....).create();

然后
alertDialog.show();

但是我尝试了3种方法...

方式1

AlertDialog alertDialog = new AlertDialog.Builder(MainActivity.this).create();

方式2

AlertDialog alertDialog = new AlertDialog.Builder(this).create();

方式3

AlertDialog alertDialog = new AlertDialog.Builder(this.getApplicationContext()).create();

前 2 个工作正常,但第 3 个给出了非法状态异常......

所以我的问题是为什么它给了????

谢谢

4

1 回答 1

2

这个问题的答案将帮助您了解android中不同类型的上下文

getContext() 、 getApplicationContext() 、 getBaseContext() 和“this”之间的区别

与您的错误相关,android 可能不希望您的 AlertDialog 与整个应用程序上下文相关联,而只是与活动相关联。

于 2013-02-04T18:10:57.950 回答