在Popupwindow中布局ListView后,如果popupwindow的focusable设置为false 的话,ListView的item的点击事件 出现如下情况:
- API < 19 :onItemClick 事件无效
- API >=19:onItemClick 事件有效
为了解决API < 19 点击Item无效的问题,特有以下两种解决方案:
方案一:
设置popupwindow为聚焦即可:setFocusable(true)
方案二:
前提:想要设置popupwindow为不聚焦:setFocusble(false) 解决方案:在ListView的Adapter的getView方法中进行item点击事件处理
@Override public View getView(final int position, View convertView, ViewGroup parent) { ViewHolder viewHolder; if(convertView == null){ ... }else{ .. } //fix API<19 onItemClick not work convertView.setOnClickListener(new View.OnClickListener() { @Override public void onClick(View v) { //item点击事件业务逻辑 } }); return convertView; }