表现
在PopupWindow中包含了ListView。ListView的item不可点击。而且很奇怪的是,在第26条item上却可以点击。但它的上一条,下一条都不可点击。
环境
编译SDK为API 17 - Android 4.2.2
PopupWindow的设置为
contentView = inflater.inflate(R.layout.layout_dropdown_list,null); contentList = (ListView) contentView.findViewById(R.id.list); popupWindow = new PopupWindow(contentView, width, ViewGroup.LayoutParams.WRAP_CONTENT); popupWindow.setFocusable(true); popupWindow.setTouchable(true); popupWindow.setOutsideTouchable(true); popupWindow.setBackgroundDrawable(new BitmapDrawable());
以 popupWindow.showAsDropDown(anchor, 0, 0); 方式弹出显示。
原因和解决
原因:ListItem包含了TextView。TextView的android:textIsSelectable属性,默认为true使得TextView抢占了ListItem的焦点。
解决:属性android:textIsSelectable设置为false。