android.view.WindowManager$BadTokenException: Unable to add window
作者:互联网
显示一个对话框:
然后报了android.view.WindowManager$BadTokenException: Unable to add window错误。
冒一看,以为是token方面的错误,但是是context方面的错。
new QMUIDialog.CheckBoxMessageDialogBuilder(mContext) .setTitle("退出后是否删除账号信息?") .setMessage("删除账号信息") .setChecked(true) .setSkinManager(QMUISkinManager.defaultInstance(mContext)) .addAction("取消", new QMUIDialogAction.ActionListener() { @Override public void onClick(QMUIDialog dialog, int index) { dialog.dismiss(); } }) .addAction("退出", new QMUIDialogAction.ActionListener() { @Override public void onClick(QMUIDialog dialog, int index) { dialog.dismiss(); } }) .create(mCurrentDialogStyle).show();
以上是正确的代码,之前mContext传入的是
getApplicationContext()
这里传的应该是this.
这样在Activity里调用就不会有问题。
详细的,也可以参考这文:
https://blog.csdn.net/u011038298/article/details/84104451
标签:mContext,onClick,BadTokenException,WindowManager,QMUIDialog,window,dialog,new 来源: https://www.cnblogs.com/jiduoduo/p/13802029.html