2 sinat 33815108 sinat_33815108 于 2016.04.12 15:06 提问

设置Gridview的item不可点击没有用

Gridview和checkbox结合,已经设置item点击事件(主要控制checkbox的选中和未选中状态),
但在点击页面上一个按钮后,要求选中的checkbox对应的item失去点击效果,该怎么实现呢,求大神帮忙解决下,我是菜鸟

3个回答

u010090644
u010090644   2016.04.12 15:17

android:focusable="false"
android:focusableInTouchMode="false"
android:clickable="false"
或者
通过android:descendantFocusability这个属性可以解决上面的问题。这个属性定义了当一个焦点要传递给父容器或者子控件时,父容器和子控件之间获得焦点的关系。具体值如下:
beforeDescendants:父容器会比其子控件率先获得焦点。
afterDescendants:如果没有任何子控件要获得焦点的话,那么父容器才会获得焦点。
blocksDescendants:父容器会阻止其子控件获得焦点(也就是说焦点会由父容器获得)。
所以最后的解决方案是:在自定义的Item布局文件的根布局中加上android:descendantsFocusability="blocksDescendants"
就可以了。

sinat_33815108
sinat_33815108 这个是要在XML中添加的是吧?可我想通过代码动态设置,而且我觉得这里好像如果动态设置了不能点击,是和我之前设置的item点击事件是有冲突的
一年多之前 回复
qq_17486399
qq_17486399   2016.04.12 16:04

AllowFocus=false;

sinat_33815108
sinat_33815108 这个好像没有这个属性啊,是在XML文件中加的吗,如果想通过动态添加可以吗
一年多之前 回复
CSDNXIAON
CSDNXIAON   2016.04.13 00:12

GridView里面的Item高度设置
----------------------同志你好,我是CSDN问答机器人小N,奉组织之命为你提供参考答案,编程尚未成功,同志仍需努力!

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!