如果在实例化对话框内部的构建器对象时传递的上下文对象是:getApplicationContext(),则会报异常如下异常:
Caused by: android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application
因为对话框是属于Activity的一部分,但getApplicationContext()方法返回的是整个应用程序的上下文对象,不是Activity,造成对话框不知道应该附着在哪个Activity之上,因而报错;
解决办法:将AlertDialog.Builder builder=new AlertDialog.Builder(getApplicationContext());
改为 AlertDialog.Builder builder=new AlertDialog.Builder(this);