在PopupWindow中再弹出PopupWindow问题

来源:互联网 发布:get it 编辑:程序博客网 时间:2024/06/06 07:03

最近在项目的开发中遇到一个需求,是一个弹出菜单点中击一个选项按钮,在选项按钮下方弹出下拉菜单。

最初想到的实现方式第一个弹出菜单用PopupWindow,第二个下拉菜单
也用PopupWindow,在第一个PopupWindow菜单中的选项按钮正下方显示第二个下拉菜单PopupWindow。但是在显示第二个下拉菜单PopupWindow中报出异常,程序crash

android.view.WindowManager$BadTokenException: Unable to add window – token android.view.ViewRootImpl $ W@382eb35 is not valid; is your activity running?

第二个PopupWindow显示如下,archor就是第一个PopupWindow的选项菜单按钮

mTwoPopupWindow.showAsDropDown(archor);

经过查找资料,发现PopupWindow中不能再弹出PopupWindow,
实际上是不能以第一个PopupWindow中的View作为archor(锚点)
来显示第二个PopupWindow。

解决方法:
第一个菜单使用Dialog来实现,第二个下拉菜单使用PopupWindow实现,这样就不会报上面的异常了。

原创粉丝点击