您的位置:首页 > 移动开发

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

2013-05-15 11:54 627 查看
在listView的onItemClick函数中显示一个AlertDialog,出现如下错误

Xml代码


 





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

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代码


 





AlertDialog imageDialog = new AlertDialog.Builder(context).setTitle("状态操作").setItems(items, listener).create();   
                imageDialog.show();  

AlertDialog imageDialog = new AlertDialog.Builder(context).setTitle("状态操作").setItems(items, listener).create();
imageDialog.show();

其中context为在OnCreate中

Java代码


 





context = getApplicationContext();  

context = getApplicationContext();

 得到

 

异常原因:AlertDialog创建语句

Java代码


 





public AlertDialog.Builder (Context context)   

public AlertDialog.Builder (Context context)

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

 

解决方法:语句修改为

Java代码


 





AlertDialog imageDialog = new AlertDialog.Builder(Activity.this).setTitle("状态操作").setItems(items, listener).create();   
                imageDialog.show();  

AlertDialog imageDialog = new AlertDialog.Builder(Activity.this).setTitle("状态操作").setItems(items, listener).create();
imageDialog.show();

 其中的Activity为当前Activity的名称
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  android
相关文章推荐