资讯专栏INFORMATION COLUMN

Android 自定义ListView单击事件失效

xiaoxiaozi / 2808人阅读

摘要:因为自带的不能满足项目需求,通过实现自己的去继承来实现自定义的项目。原因是里面存在一些子控件,默认点击获取的焦点跑去子控件去了,点击失效。解决办法在的根目录加入该属性是当一个为获取焦点时,定义和其子控件两者之间的关系。

   因为自带的listView不能满足项目需求,通过实现自己的Adapter去继承ArrayAdapter 来实现自定义ListView的Item项目。

  出现点击ListView的每一项都不会执行setOnItemClickListener 里面的onItemClick 方法。

  原因是item里面存在一些子控件,默认点击获取的焦点跑去子控件去了,点击失效。

解决办法:

  在item的根目录加入android:descendantFocusability="blocksDescendants"




    


        

        

        
    

    

        
    

 

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

属性的值有三种:

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

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

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

 

我们使用blocksDescendants 属性来覆盖子类控件,而直接获取焦点。

 

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/2899.html

相关文章

  • 安卓开发笔记(十):升级ListView为RecylerView的使用

    摘要:的优点并不会完全替代这点从没有被标记为可以看出,两者的使用场景不一样。基本使用引用在文件中引入该类。会根据情况,将原来的放入或,从而在复用时提升效率。概述 RecyclerView是什么 从Android 5.0开始,谷歌公司推出了一个用于大量数据展示的新控件RecylerView,可以用来代替传统的ListView,更加强大和灵活。RecyclerView的官方定义如下: A flexi...

    番茄西红柿 评论0 收藏0
  • Andorid关于如何获取listview中子item的控件的问题

    摘要:而最重要的方法就是方法,在此方法内的绘制核心的核心,内控件的寻找,事件的设定都能做。 Andorid 开发中我们常常会用到listview这个控件,而listview中如何获取到子item的控件并设置相应事件则相对复杂,并且自定义listview常常需要自定义适配器等等,下面这篇文章将主要介绍如何获取item控件并设置响应事件,主要实现如何点击listview子item中的一个按钮跳转...

    CarlBenjamin 评论0 收藏0
  • Android特效 - 收藏集 - 掘金

    摘要:关于最友好的文章背压掘金前言背压可能是所有想要深入运用的朋友必须理解的一个概念。一概述这两天时间动手撸了个视图扩散切换效果的控制器,兼容至,更方便我们在视图切自定义控件之像一样使用添加和掘金添加和,实现像和一样的和和方法。 Android仿探探堆叠滑动控件(支持方向控制,内嵌入RecyclerView) - Android - 掘金堆叠滑动控件,类似于社交软件探探的效果,并增加以下扩展...

    KoreyLee 评论0 收藏0
  • Android 的ExpandableListView使用总结--二级展开树结构

    摘要:关于的介绍中文官方其实基本也不用怎么讲,直接看也很清晰是默认支持二级展开树形结构,有的朋友喜欢用嵌套的方式实现多级的展开树,我并不建议那样用,写这篇文章就是单纯的总结一下这个空间,以及满足工作中只是简单的二级展开的需求。 1、关于ExpandableListView的介绍 中文官方api--其实基本也不用怎么讲,直接看api也很清晰http://www.zhdoc.net/androi...

    FingerLiu 评论0 收藏0
  • Android前后端gson传输数据和listview获取position

    摘要:如何删除中的某一项,之后更新该并获取到该项的信息。遇到这个问题是在要实现收藏列表的删除时,收藏列表就是一个在这个上有一个删除,要在点击这个时删除这个位置的,并且获取到这个中店铺的等信息,从而发送给后端,将数据库中信息一并删除。 这个暑假学校安排一个月的实训,内容就是,一个团队开发一个app,相信对于有经验的人来说是很简单的事,但是我在此之前从来没有接触过Android,java基础也接...

    Achilles 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<