AlertDialog显示错误 Unable to add window token null is not for an application

来源:互联网 发布:阿里云 cdn 编辑:程序博客网 时间:2024/06/01 10:40

在listView的onItemClick函数中显示一个AlertDialog,出现如下错误

Xml代码  收藏代码
  1. 08-07 21:26:43.506: ERROR/AndroidRuntime(9390): android.view.WindowManager$BadTokenException: Unable to add window -- token null is not for an application  

后google解决。

原来代码中显示语句如下

Java代码  收藏代码
  1. AlertDialog imageDialog = new AlertDialog.Builder(context).setTitle("状态操作").setItems(items, listener).create();  
  2.                 imageDialog.show();  

其中context为在OnCreate中

Java代码  收藏代码
  1. context = getApplicationContext();  

 得到

 

异常原因:AlertDialog创建语句

Java代码  收藏代码
  1. public AlertDialog.Builder (Context context)   

 中,不能使用getApplicationContext()得到的context,而必须使用Activity,所以解决如下

 

解决方法:语句修改为

Java代码  收藏代码
  1. AlertDialog imageDialog = new AlertDialog.Builder(Activity.this).setTitle("状态操作").setItems(items, listener).create();  
  2.                 imageDialog.show();  

 其中的Activity为当前Activity的名称

 

参考:

http://blog.csdn.net/yimo29/article/details/6004782

0 0
原创粉丝点击