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

在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

发布了68 篇原创文章 · 获赞 14 · 访问量 43万+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章