经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 移动开发 » Android » 查看文章
Android开发解决popupWindow重叠报错问题
来源:jb51  时间:2018/10/19 8:55:24  对本文有异议

在popupWindow里面再弹出popupWindow的时候会报这样的错误

  1. ERROR/AndroidRuntime(888): android.view.WindowManager$BadTokenException: Unable to add window -- token android.view.ViewRoot$W@44ef1b68 is not valid; is your activity running?

报错的意思大概就是说依赖的Activity没了。

解决方法1

不要在当前的popupWindow里面继续show一个popupWindow,应该写一个接口回调到Activity里面进行show,

解决方法2

如果只是简单的弹窗提醒的话,把第二次弹出的popupwindows改为Toast,

  1. public class VerifySuccessDialog extends Toast {
  2.   public VerifySuccessDialog(Context context) {
  3.     super(context);
  4.     //设置toast的View
  5.     setView(LayoutInflater.from(context).inflate(R.layout.include_popwindow_verify, null));
  6.     //弹出位置
  7.     setGravity(Gravity.CENTER, 0, 0);
  8.     //时长
  9.     setDuration(Toast.LENGTH_SHORT);
  10.   }
  11. }

用的地方就

  1. new VerifySuccessDialog(mActivity).show();

解决方法3

第二次弹窗改为Dialog,设置dialog的style,在Style.xml添加

  1. <style name="VerifyDialog" parent="@android:style/Theme.Holo.Dialog.NoActionBar">
  2.     <item name="android:windowBackground">@drawable/trans</item>
  3.     <item name="android:windowFrame">@null</item>
  4.     <item name="android:windowIsFloating">true</item>
  5.     <item name="android:backgroundDimEnabled">true</item>
  6.     <item name="android:windowSoftInputMode">adjustPan</item>
  7.   </style>

定义一个Dialog类

  1. public class VerifySuccessDialog extends Dialog {
  2.   //用来设置时间自动关闭
  3.   private int showTime;
  4.   public VerifySuccessDialog(Context context) {
  5.     super(context, R.style.VerifyDialog);
  6.     setContentView(R.layout.include_popwindow_verify);
  7.   }
  8.   public int getShowTime() {
  9.     return showTime;
  10.   }
  11.   public void setShowTime(int showTime) {
  12.     this.showTime = showTime;
  13.   }
  14. }

用就直接:

  1. VerifySuccessDialog dialog = new VerifySuccessDialog(mActivity);

显示的地方

dialog.show();

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对w3xue的支持。如果你想了解更多相关内容请查看下面相关链接

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号