ListView的Item被点击和其中的Button被点击同时生效

Android开发中在ListView中经常有Button或ImageButton等需要被点击的控件,如果不加一些特殊的限制,有可能ListView的Item的点击事件或Button的点击事件,其中一个不能响应。我遇到的情况是ListView的Item不能响应点击事件。

解决的办法,在ListView的Item的xml文件中添加如下属性:

1)整个xml文件的根元素如LinearLayout中添加属性android:descendantFocusability="blocksDescendants"

2)被点击的控件如ImageButton中添加属性android:focusable="false"和android:clickable="true"

完美解决!

本文转载自:http://blog.csdn.net/dinglin_87/article/details/7878686#comments

时间: 2024-11-07 04:16:49

ListView的Item被点击和其中的Button被点击同时生效的相关文章

ios 添加到cell 上的button点击无效!扩大button的点击区域(黑魔法)

一般情况下点击效果都是正常的!要不然你对它做了什么?一般细心的小伙伴都没有遇到这种情况,但是呢! 当然我是二班的!在这里我主要讲两个问题,解决问题和普及魔法. 一.普及问题(button在cell上点击无效) 自定义一个cell,cell里边creat了一个button!然后调试了半天,什么反应都没有! 1.button的enable 设置为yes可点击的. 1.我以为我设置了交互禁用! self.userInteractionEnabled = YES; 2.button的frame越界了!

gridview中单元格button的点击事件和onitemclick点击冲突及解决办法

如果是listview的onitemclick的点击事件与子button的点击事件冲突,很多人都知道通过对listview设置android:descendantFocusability="blocksDescendants",以及对button设置android:focus="false",来屏蔽button的焦点以及点击事件从而解决冲突.然而不幸的是,本人今天对类似的gridview设置此项属性,亲测并没有什么用. 解决办法是有的,例如把button改为text

Cocos2d-x3.0 载入Cocostudio的UI后,button无法点击的解决方法

原帖地址:http://blog.csdn.net/musicvs/article/details/28390617 近期发现不少朋友都遇到这个问题,用Cocostudio的UI编辑器创建好UI后,在代码中载入UI.然后给button(Button)加入点击监听事件,发现不管怎样都点击不了button,没有不论什么反应. 或者,往button的以下一些位置点击,却发现button被点击了.点击坐标的位置明显和button的位置有偏差. 笨木头花心贡献,啥?花心?不呢.是用心~ 转载请注明,原文地

android ListView中的Item有Button时候点击异常处理

1.当ListView中有Button的时候往往会遇到很多问题,比较常见的一个问题是: 假设:在ListView中有N个Item当点击其中某个Item中的Button的时候,需要改变当前Button的状态,在你点击以后确实最后一个Item的Button的状态改变了,不管点击哪一个Button都是最后一个 Item的中的Button的状态被改变了,这里涉及到ListView重绘的问题. 要解决上面的问题的方法是将点击的监听事件提出来进行封装,在用就可以解决上述问题了. 给个示例代码: 在ListV

ListView的item中有button和checkbox,listview的点击事件无效

ListView的item中有button和checkbox,listview的点击事件无效,解决办法: 在item布局文件中的根控件中添加属性设置: android:descendantFocusability="blocksDescendants" 如果只能点击checkbox,而无法触发item的点击事件,那么可以禁掉checkbox的焦点获取,不让它可以点击就可以了 checkbox里面加 android:focusable="false" android:

Android ListView的item点击无响应的解决方法

如果listitem里面包括button或者checkbox等控件,默认情况下listitem会失去焦点,导致无法响应item的事件,最常用的解决办法 是在listitem的布局文件中设置descendantFocusability属性. item的布局文件: <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.andro

区分listview的item和Button的点击事件

这两天修改领导通的ListView widget,在ListView中加入Button这类的有 “点击” 事件的widget,发现原来listview的itemclick居然失效了, 后来在网上查资料终于得以解决. ListView 和 其它能触发点击事件的widget无法一起正常工作的原因是加入其它widget后,ListView的itemclick事件将无法触发,被其它widget的click事件屏蔽. 解决办法: 在item中,包含button的item的Layout中加入属性 andro

点击android:listview列表item无反应的问题

今天遇到一个令人头疼的问题:我在Activity中的onCreate()方法中写了listView.setOnItemClickListener() 但是运行模拟器后点击ListView的Item时没有任何反应,以前这样写却不会出现这种情况, 后来百度多次才找到问题所在:(参考链接:http://ming.highgic.com/?p=198) 原来这个ListView的item里面有button,需要在xml布局文件中设置button属性,其中focusable是关键: android:foc

解决ListView的Item包含Button的点击冲突事件

问题:ListViw的Item有可能会包含图片或Button,在包含Button的时候,ListView的item的点击事件会失效! 解决方法:1.让Item中的那个Button在代码中如下设置 View.setFocusable(false); View.setFocusableInTouchMode(false); 2.在XML布局文件中设置 android:focusable="false" android:focusableInTouchMode="false&quo