现象:设置了PopWindow的setOutsideTouchable方法,可以实现在PopWindow外部任意区域就可以将PopWindow给dismiss。然后公司有一个缺陷需要修改,就是点了返回键之后,先将PopWindow给dismiss掉,然后再点击返回键,当前Activity被finish。可是发现第一次点击返回键,PopWindow dismiss了,同是Activity也被finish了。
分析:PopWindow拿到外部点击事件后,自己消费完还往下传递了,导致finish被触发。现在解决方法就是PopWindow拿到事件后自己消费完就完事了。setFocusable设置为true即可。