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点击事件是有冲突的
2 年多之前 回复
qq_17486399
qq_17486399   2016.04.12 16:04

AllowFocus=false;

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

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

Csdn user default icon
上传中...
上传图片
插入图片
准确详细的回答,更有利于被提问者采纳,从而获得C币。复制、灌水、广告等回答会被删除,是时候展现真正的技术了!
其他相关推荐
Android GridView设置item不可点击
GridView设置item不可点击在一些情况下,我们会需要GridView中的一些item可以点击,一些不可点击,试了很多方法都不管用,比如设置: convertView.setEnabled(false); convertView.setFocusable(false); convertView.setFocusableInTouchMode(false); convertView.set
GridView点击item后改变item的背景
先上效果图 1 首先在你的adapter里面添加 private int clickTemp = -1;            //标识选择的Item public void setSeclection(int position) { clickTemp = position; } 2 然后再getview里面这样 @Ov
android Gridview 点击 item 改变item的背景
http://blog.163.com/zhuowh2006@126/blog/static/101823724201314103631112/
gridview 点击item变色
 来自博客  https://blog.csdn.net/ChinaGuangZhou000000/article/details/6697184gridView.setOnItemClickListener(new Gallery.OnItemClickListener(){   @Override   public void onItemClick(AdapterView<?> p...
设置ListView item 不可点击,item中的元素可以点击
一般来说,如果item中存在ImageButton、Button、CheckBox 等子控件(Button或Checkble的子类控件),这些控件会自动获取焦点,然而如果item中没有这类控件时又该如何设置呢?其他的控件如Image、LinearLayout(还有其他的各种layout)、TextView等都不会自动获取焦点,那我们就在需要点击的元素的布局中加上android:focusable=
GridView设置Item的点击事件无效的解决方案
背景 问题导原因 问题解决图示 补充说明 A little bit of progress every dayCome on背景界面显示用到了gridview,然后gridview的item的itemView是一个简单的Button。当gridview设置完adapter后,接着设置item的点击事件时发现点击item是不能触发下面的方法。// gridview的item的点击事件 gridView
gridView的item点击事件
//注册监听事件 gridView.setOnItemClickListener(new OnItemClickListener() { public void onItemClick(AdapterView parent, View v, int position, long id) { Intent intent
GridView item设置点击背景
GridView item设置点击背景   android:listSelector="@android:color/transparent"
GridView的item无法响应点击事件
里面有个ImageButton,怎么设置都不行,(不能点击,不让获取焦点。。) 最后换成ImageView就OK了...
Android GridView的item点击事件没反应
点击GridView的第一个item没反应,点击其他item则正常,GridView滚到后再点击第一个item也正常。     原因: 在GridView的adapter中的布局文件指定了item的长和宽,LayoutParams使用了AbsListView.LayoutParams。     解决方法: 在布局外在加一层layout,不使用AbsListView.LayoutParams设置