Fragment里面的ListView的item点击没反应
近期做一个消息列表,发现fragment的listview载入消息出来后,每条消息都点击不了。经过询问和查下已解决
开发中非经常见的一个问题,项目中的listview不不过简单的文字,经常须要自定义listview。自己的Adapter去继承BaseAdapter,在adapter中依照需求进行编写。问题就出现了,可能会发生点击每个item的时候没有反应。无法获取的焦点。原因多半是因为在你自定义的Item中存在诸如ImageButton,Button,CheckBox等子控件(也能够说是Button或者Checkable的子类控件),此时这些子控件会将焦点获取到,所以经常当点击item时变化的是子控件。item本身的点击没有响应。
这时候就能够使用descendantFocusability来解决啦,API描写叙述例如以下:
android:descendantFocusability

该属性是当一个为view获取焦点时,定义viewGroup和其子控件两者之间的关系。
属性的值有三种:
beforeDescendants:viewgroup会优先其子类控件而获取到焦点
afterDescendants:viewgroup仅仅有当其子类控件不须要获取焦点时才获取焦点
blocksDescendants:viewgroup会覆盖子类控件而直接获得焦点
通常我们用到的是第三种,即在Item布局的根布局加上android:descendantFocusability=”blocksDescendants”的属性。
问题解决。
Fragment里面的ListView的item点击没反应的更多相关文章
- Android GridView 第一个Item 点击没反应
@Override public View getView(final int position, View convertView, ViewGroup parent) { final ViewHo ...
- android 项目学习随笔十三(ListView实现ITEM点击事件,将已读状态持久化到本地)
1.因为给LISTVIEW增加了两个头布局,所以在点击事件ITEM索引会增加2,比如原来第一条数据的索引应该为0,增加两个头布局后,它的索引变为 2,为了使LISTVIEW的ITEM在点 ...
- Android ListView中Item点击事件失效解决方案
欢迎关注公众号,每天推送Android技术文章,二维码如下:(可扫描) 在平常的开发过程中,我们的ListView可能不只是简单的显示下文本或者按钮,更多的是显示复杂的布局,这样的话,我们就得自己写布 ...
- ListView的Item点击事件(消息传递)
转载请保留原文出处“http://my.oschina.net/gluoyer/blog”,谢谢! 您可以到博客的“友情链接”中,“程序猿媛(最新下载)*.*”下载最新版本,持续更新!当前版本,也可直 ...
- Android ListView的item点击无响应的解决方法
假设listitem里面包含button或者checkbox等控件,默认情况下listitem会失去焦点,导致无法响应item的事件,最经常使用的解决的方法 是在listitem的布局文件里设置des ...
- Fragment里面的ViewPager嵌套subFragment,主Fragment切换的时候subFragment出现空白Fragment的Bug
Fragment第二次进入不显示,主要是第二次加载的时候重复调用了onCreateView()这个方法,重新new了一个pageadapter导致子fragment不显示,问题的解决方法就是在onCr ...
- 一个大div里面包裹一个小div,里面的小div的点击事件不触发外面的这个大div的点击事件
一开始上html代码 <div id="div1" style="background: blue;width: 100px; height: 100px;&quo ...
- Android AlertDialog 动态更新里面的ListView数据
1:和ListView的数据跟新是基本一样的. 2:Activity代码示例 public class MainActivity extends AppCompatActivity { AlertDi ...
- listview 嵌套checkbox响应item点击和button点击事件
参考文档 http://www.eoeandroid.com/forum.php?mod=viewthread&tid=182280 一.主要要点 1. CheckBox的优先级比item高. ...
随机推荐
- iOS后台播放音乐
iOS实现在后台播放音乐 iOS4之后就支持后台播放音频了.只需下面两步就可以实现后台播放音频操作了. 1. 在Info.plist中,添加"Required background mode ...
- PHP 表单 - 3(PHP 表单 - 必需字段)
PHP 表单 - 必需字段 本章节我们将介绍如何设置表单必需字段及错误信息. PHP - 必需字段 在上一章节我们已经介绍了表的验证规则,我们可以看到"名字", "E-m ...
- webpack 生命周期
1.插件 可以安装lifecycle-webpack-plugin 插件来查看生命周期信息. 2.webpack流程(生命周期图) 地址:https://img.alicdn.com/tps/TB1G ...
- Java基础2-容器篇
java基础2-容器篇 1.页首请关注 思维导航大纲 1.常用容器的类型层次结构 2.理解容器的常用思维大纲 a.空间 时间 concurrentModifyException 加载因子 3.常用类源 ...
- 自定义AppServer
TelnetSever.cs public class TelnetServer : AppServer<TelnetSession> { protected override bool ...
- CameraManager与CameraDevice与ICameraService的相应关系
Camera2 AP Framewok中有三个比較重要的组件:CameraManager.CameraDevice.ICameraService,他们的相应关系例如以下: 一个Context中会有一个 ...
- nginx error: upstream prematurely closed connection while reading response header from upstream
本篇文章由:http://xinpure.com/nginx-error-upstream-prematurely-closed-connection-while-reading-response-h ...
- 解决 无法将文件" "复制到“bin\*.*”。对路径“bin\*.*”的访问被拒绝。
关于这个问题今天碰到了, 我的解决办法很简单: 删除bin目录下的所有文件,然后重新生成,就不报错了.
- pylot 学习笔记
安装步骤 1.下载pylot 版本是1.26,文件名是:pylot_1.26.zip 2.下载python 版本是2.5,文件名是:python-2.5.msi 3.下载numpy 版本是1.4.1, ...
- Android github上开源项目、酷炫的交互动画和视觉效果地址集合
Android上开源的酷炫的交互动画和视觉效果:http://blog.csdn.net/u013278099/article/details/50323689 Awesome-android-ui: ...