android.view.WindowManager$BadTokenException: Unable to add

我在弹出Dialog的代码是这样子写的:

private void deleteConfDialog(final EoItems deletItems) {AlertDialog.Builder builder = new Builder(ownContext);final View exitV=LayoutInflater.from(ownContext).inflate(R.layout.exitdialog, null);TextView dialogContent=(TextView) exitV.findViewById(R.id.diao_config);dialogContent.setText("确定删除");builder.setView(exitV);//设定对话框显示的View对象builder.setPositiveButton(R.string.app_exit_ok,new android.content.DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {dialog.dismiss();//checkedItem.add(deletItems);//deleteCheckedItem();}});builder.setNegativeButton(R.string.app_exit_cancle,new android.content.DialogInterface.OnClickListener() {public void onClick(DialogInterface dialog, int which) {dialog.dismiss();}});builder.create().show();} 其中ownContext是我保存下来的而我调用时候用了getApplicationContext()而不是Activity.this所以导致报这个错是在于new AlertDialog.Builder(mcontext),虽然这里的参数是AlertDialog.Builder(Context context)但我们不能使用getApplicationContext()获得的Context,而必须使用Activity,因为只有一个Activity才能添加一个窗体。

解决方法:将new AlertDialog.Builder(Context context)中的参数用Activity.this(Activity是你的Activity的名称)来填充

,对人性的弱点有清醒的认识,

android.view.WindowManager$BadTokenException: Unable to add

相关文章:

你感兴趣的文章:

标签云: