Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow

来源:互联网 发布:基于比较排序算法 编辑:程序博客网 时间:2024/05/20 03:46


Android点击View显示PopupWindow,再次重复点击View关闭PopupWindow

这本身是一个看似很简单的问题,但是如果设置不当,就可能导致莫名其妙失效问题。通常在Android中使用PopupWindow是从某一个View中触发,为某一个View setOnClickListener,然后在View.OnClickListener中show出创建好的PopupWindow,比如下图右侧的“筛选”部位View,此图为用户点击 筛选 后弹出的PopupWindow:


代码意图是当用户再次点击 筛选后改PopupWindow消失,问题就出在这儿,我开始写这部分代码由于对PopupWindow的设置不完全,导致当PopupWindow在弹出后,入股用户再次点击 筛选,会出现PopupWindow关闭然后再次打开的奇怪现象,检查了代码,发现是因为缺少设置PopupWindow的一段代码属性setFocusable:
setFocusable为true就可以了,即PopupWindow的:

setFocusable(true);


附录:
1,《Android Material Design:ListPopupWindow》链接:http://blog.csdn.net/zhangphil/article/details/48900349
2,《Android Material Design:PopupMenu》链接:http://blog.csdn.net/zhangphil/article/details/48900007
3,《Android微信右上角弹出的对话选择框实现》链接:http://blog.csdn.net/zhangphil/article/details/50481536

1 0
原创粉丝点击
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 乌鲁木齐住房公积金查询 玉林市住房公积金管理中心 南宁住房公积金网 宜宾市住房公积金管理中心 重庆住房公积金 银川住房公积金查询个人账户 洛阳住房公积金查询 住房公积金卡 东莞住房公积金查询 南京住房公积金管理中心 成都住房公积金 广西住房公积金查询 广西区直住房公积金查询入口 哈尔滨住房公积金管理中心 武汉住房公积金查询个人账户 重庆市住房公积金管理中心 渭南住房公积金查询 咸阳市住房公积金管理中心 宁德住房公积金查询 苏州住房公积金管理中心 太原住房公积金 萍乡市住房公积金个人查询 深圳住房公积金查询余额 长春市住房公积金网 潍坊市住房公积金管理中心 阜阳市住房公积金查询 赣州住房公积金 太原住房公积金查询个人账户 郑州市住房公积金查询 杭州住房公积金管理中心 乐山市住房公积金管理中心 长春住房公积金查询 青海住房公积金查询网 住房公积金管理 宜春住房公积金查询 惠州市住房公积金管理中心 玉林住房公积金查询个人账户 枣庄住房公积金查询 六安住房公积金管理中心 厦门住房公积金查询 渭南市住房公积金个人查询