【第22期】观点:IT 行业加班,到底有没有价值?

Android中ListView或者GridView的Item和Item中控件的事件冲突

原创 2016年08月30日 14:23:29

在gridview或者listView中,我们经常会给他们的item中的控件也添加事件监听。就会发生item的点击事件和item中的控件点击事件冲突,只能实现一个的情况。

这种情况,解释一下可能的原因。

有可能是item中子控件的优先级会高于父控件,所以焦点优先给予子控件,导致父控件获取不到焦点。那么针对的解决办法可以有如下两方面的思路:


1.给父控件的获取焦点优先级提高一下呗:


解释一下descendantFocusability的属性有三种:

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

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

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

而我们需要用到的就是覆盖子类控件直接获取焦点。这个大家理解尝试。

在我们的item的跟布局中加入下面这一行代码就解决我们的焦点冲突问题。

android:descendantFocusability="blocksDescendants"

2.将子控件的focusable修改一下:

如下,在我们的需要获取焦点的子控件加如下代码:

android:focusable="false"

这样,我们的item和item中的控件的事件就不冲突啦。

版权声明:本文为博主原创文章,未经博主允许不得转载。 举报

相关文章推荐

Android.GridView中item事件OnItemClick

Android.GridView事件监听 转自:http://kandy0619.blog.163.com/blog/static/643443452010021101343213/ ...

关于为gridView中的Item设置点击事件

首先在Activity中定义GridView,以及需要用到的图片及图片对应的文字,还有适配器 private GridView gridView; private List> dataList; pr...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

ListView中能嵌套使用'GridView'吗?

在做app的时候或许都会遇到这样的需求,在一个ListView中显示类似GridView的情况。很容易想到的做法是在ListView中嵌套使用GridView,并且很多的人也在这样做。网上搜索List...

ListView中嵌套GridView点击事件

做一个项目时,需要在ListView中嵌套GridView,因为ListView的每个条目中不一定出现GridView,那么问题来了,添加GridView的Item的点击事件后,有GridView出现...

Android 代码模拟ListView item的点击事件的两种方式

在项目里面有时候需要模拟ListView的item的点击事件(就是不用手去点击,直接在代码里面实现),发现了两种方式如下:第一种: 适合多个方式来响应点击事件的(比如:可以点击某一行。可以接收了一个...

listview或gridview中item的点击事件与控件点击事件冲突的解决

listview中item的点击事件与控件点击事件冲突的解决

Android中ListView适配器里区分不同按钮的点击事件

Android下ListView每个Item中包含有多个按钮,当我们点击某一个item中的按钮的时候,同时有多行button触发了响应事件。 就会产生下图的效果: 为了解决这个问题,我们使用回调Lis...

android listview系列之item的点击事件及item布局中的点击事件(四)

很多时候listview只显示简略信息,我们需要点击子项去跳转或在显示详细信息的位置,将相关的详细信息显示出来,listview提供了onItemClickListener()方法,在方法中我们可以执...

Android:ListView中嵌入GridView,处理点击事件的冲突

【问题】当GridView嵌入ListView后,始终响应的是GridView的点击事件,我需要的是获取到ListView的点击事件!   在使用ListView的时候,我们使用adapter中画我...

Android 在ListView嵌套GridView中出现的点击事件冲突的处理以及gridview显示不全的问题

写这篇博文也是出于偶然看到自己很久以前写的一堆“烂码”,目的是为了实现一个ListView中能够嵌入GridView的功能,为了展示图文的一个Item,这是一个很普通的功能,但在那时候什么都不懂的我还...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)