昨天踩了个大坑,从下午折腾到现在。实现以下功能:
popupWindow显示listview,listView OnItemClick点击后获取值。
由于重写listview 是有两部分 列表正文和右侧索引,都重写了onTouchEvent。出现此问题后,受此影响,解决思路偏向是OnTouchEvent自己消费掉OnClick事件,致使事件无法传递给ListView本身OnItemClik。在查阅资料后,发现自己大错特错。
首先事件传递是从父级传递给子级的,而本布局事件均发生在listview item内,子级无事件消费,不存在这个问题。
其次,排除item中有Button,weblink等控件致使listview失去焦点因素。
具体TouchEvent事件机制参阅这里
最后,测试。。发现PopupWindow没有获取到焦点。。
PopupWindow.setFocusable(
true
);
其他版本因素暂没测试。