基本都失败了,部分失效缘由还没找到,知道的能够告知下,感谢。。。。。
1.将父布局设置为不可点击android
mLvAppLock.setEnabled(false);
2.将item的子控件设置为不可点击,后来发现当你把一个控件设置了点击事件以后,系统会自动将该控件设置为可点击的。
源代码:布局
public void setOnClickListener(@Nullable OnClickListener l) { if (!isClickable()) { setClickable(true); } getListenerInfo().mOnClickListener = l; }
另外,在adapter中设置点击事件,每个控件都会有本身独立的点击事件,要对这些控件的点击事件进行屏蔽与开启,单个来有些麻烦。动画
3.设置listview的android:descendantFocusability属性spa
本身定义listview可能会发生点击每个item的时候没有反应,没法获取焦点。缘由多半是因为在咱们本身定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也能够说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,因此经常当点击item时变化的是子控件,item自己的点击没有响应。
该属性是当一个为view获取焦点时,定义viewGroup和其子控件二者之间的关系。
属性的值有三种:code
beforeDescendants:viewgroup会优先其子类控件而获取到焦点 afterDescendants:viewgroup只有当其子类控件不须要获取焦点时才获取焦点 blocksDescendants:viewgroup会覆盖子类控件而直接得到焦点 mLvAppLock.setDescendantFocusability(ViewGroup.FOCUS_BEFORE_DESCENDANTS);