Listview中Button抢占焦点的解决方法

istview button 抢占焦点的解决办法:

Item xml 根节点添加 android:descendantFocusability="blocksDescendants"

Button 设置

android:focusable="false"

这样点击Button 和ListView Item 可以分别响应自己的点击事件

开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承BaseAdapter,在adapter中按照需求进行编写,问题就出现了,可能会发生点击每一个item的时候没有反应,无法获取的焦点。

原因多半是由于在你自己定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也可以说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以常常当点击item时变化的是子控件,item本身的点击没有响应。

这时候就可以使用descendantFocusability来解决啦

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。

属性的值有三种:

beforeDescendants:viewgroup会优先其子类控件而获取到焦点

afterDescendants:viewgroup只有当其子类控件不需要获取焦点时才获取焦点

blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点

通常我们用到的是第三种,即在Item布局的根布局加上**android:descendantFocusability=”blocksDescendants”**的属性就好了,至此listview点击的灵异事件告一段落。

以上所述是小编给大家介绍的Listview中Button抢占焦点的解决方法,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!

时间: 2024-10-28 05:44:51

Listview中Button抢占焦点的解决方法的相关文章

Listview中Button抢占焦点的解决方法_Android

istview button 抢占焦点的解决办法: Item xml 根节点添加 android:descendantFocusability="blocksDescendants" Button 设置 android:focusable="false" 这样点击Button 和ListView Item 可以分别响应自己的点击事件 开发中很常见的一个问题,项目中的listview不仅仅是简单的文字,常常需要自己定义listview,自己的Adapter去继承Bas

Android Listview中Button按钮点击事件冲突解决办法

  今天做项目时,ListView中含有了Button组件,心里一早就知道肯定会有冲突,因为以前就遇到过,并解决过,可惜当时没有记录下来. 今天在做的时候,继续被这个问题郁闷了一把,后来解决后,赶紧来记录下,以便日后参考.      首先,其实Listview中Button按钮点击事件冲突这种问题压根就不是太大的问题,因为我们完全可以将一个TextView的Backgroud设置成一个selector,也可以将一个TextView设计成一个按钮的样子,这样就可以绕过ListView和Button

win7在“我的电脑”中无法看到摄像头的解决方法

在本文中我们将会看到的是在win7下"我的电脑"中无法看到摄像头的解决方法! 问:我刚买的笔记本装的是32位的Windows 7旗舰版.技术员说在Win 7系统"我的电脑"中无法看到摄像头,只有开QQ才能看到.我想知道怎样才能在Windows 7"我的电脑"中看到摄像头? 答:实际上,从Vista开始,"Windows Image Acquisition (WIA)"服务已经不再提供在资源管理器显示摄像头图标的功能了. 要想在

浅谈瀑布流网页实现中遇到的问题和解决方法

  先上Demo 瀑布流排序 : http://cued.xunlei.com/demos/publ/demo1.html 瀑布流+无限拖 http://cued.xunlei.com/demos/publ/demo2.html 随着pinterest的走红,瀑布流式的布局被越来越多的网站所使用,这种布局确实有很多好处,图片列表页有很强大的视觉感染力,而且还提高了用 户"发现好图"的效率.瀑布流的实现有很多种方式,之前淘宝UED有篇文章详细的介绍过各种方式的优劣.今天我们主要讨论一下绝

Word2007中鼠标失灵的故障解决方法

  Word2007中鼠标失灵的故障解决方法.相信很多朋友在工作中编辑文档的时候都是用Offcie套件中的word编辑的,不知道大家有没有遇到过这种情况,那就是当我们在编辑Word文章时,鼠标莫名其妙的失灵,一时无名肝火上来,不知道如何解决,只能不太熟练的使用键盘操作.下面给大家讲一下自己的解决方案. 原来是安装了 PowerDesigner 12.5 在作怪,解决方案如下: 单击"Microsoft Office 按钮",然后单击"Word 选项". 单击&quo

js中浮点型运算BUG的解决方法说明

 本篇文章主要是对js中浮点型运算BUG的解决方法进行了介绍,需要的朋友可以过来参考下,希望对大家有所帮助 曾经项目用到过的,之前在网上找到此代码,但在特定条件下除法和加法运算依然会出现BUG个人对此稍作优化     代码如下: //除法函数,用来得到精确的除法结果 //说明:javascript的除法结果会有误差,在两个浮点数相除的时候会比较明显.这个函数返回较为精确的除法结果. //调用:accDiv(arg1,arg2) //返回值:arg1除以arg2的精确结果 function acc

“无法启动此程序,因为计算机中丢失MSVBVM50.DLL”的解决方法

  今天在Win8.1系统下运行"喜羊羊与灰太狼屏保.exe"程序时,突然弹出如图所示的"系统错误"窗口: 计算机中丢失MSVBVM50.DLL"的解决方法-msvbvm50.dll丢失"> 内容为"系统错误.无法启动此程序,因为计算机中丢失MSVBVM50.DLL.尝试重新安装该程序以解决此问题." 首先普及一下常识,MSVBVM50.DLL文件是什么东东呢?DLL是Dynamic Link Library 的缩写,D

PHP编译过程中常见错误信息的解决方法

PHP编译过程中常见错误信息的解决方法 在CentOS编译PHP5的时候有时会遇到以下的一些错误信息,基本上都可以通过yum安装相应的库来解决.以下是具体的一些解决办法: checking for BZip2 support- yes checking for BZip2 in default path- not found configure: error: Please reinstall the BZip2 distribution Fix: yum install bzip2-devel

过滤Android工程中多余资源文件的解决方法_Android

本文以实例讲述了过滤Android工程中多余资源文件的解决方法,很有实用价值!具体描述如下: 很多开发人员在Android项目开发过程中经常会遇到这样的情况:界面开发人员发布了一个新版本的资源包,不过有的图片名称改了,有的图片删掉了,可是在实现的时候开发人员只是把新的资源覆盖到原来的资源文件夹中,随着版本的发布,在drawable或values中积累的无用资源越来越多,直到最后发布正式版的时候再想要删除这些多余的文件,于是不得不一个一个文件检查看是否有用,再决定要不要删除之. 有鉴于此,很有必要