【Android问题集】ListView不响应onItemClick事件
来源:互联网 发布:收看国外电视直播软件 编辑:程序博客网 时间:2024/06/04 00:14
作者:Yogi
前言:在机顶盒的直播应用项目中遇到listview完全不响应onItemClick事件,但是响应onItemSelected事件,这个问题该怎么解决呢?
解决思路
listView不响应onItemClick事件,有以下几个原因
1.应用卡死了
2.根本就没有setOnItemClickListener
3.listview没有获取到焦点
4.click事件被listview上的子控件消化了
分析
首先,我的应用没有卡死,所以可能性1排除了。查看代码之后,可能性2也排除了。
在Activity的dispatchKeyEvent方法中通过添加如下代码(打印当前获取了焦点的控件)
Log.d(TAG, "current focus= " + getWindow().getCurrentFocus());
发现listview是有焦点的。所以可能性3也被排除了。只剩下可能性4了。
通过查看item的布局文件(以下是部分布局文件代码)
<LinearLayout android:layout_width="fill_parent" android:layout_height="@dimen/channel_nav_open_height" android:clickable="true" android:focusable="true" android:orientation="horizontal" > <FrameLayout android:layout_width="wrap_content" android:layout_height="@dimen/channel_nav_open_height" > <ImageView android:id="@+id/group_icon" android:layout_width="@dimen/channel_nav_close_icon_width" android:layout_height="@dimen/channel_nav_close_icon_height" android:src="@drawable/nav_icon_a_nor" /> <TextView android:id="@+id/nav_icon_number" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_marginLeft="45dp" android:layout_marginTop="30dp" android:textColor="@color/white" android:textSize="20sp" android:visibility="gone" /> </FrameLayout> <TextView android:id="@+id/group_name" android:layout_width="fill_parent" android:layout_height="fill_parent" android:layout_marginTop="@dimen/channel_nav_open_item_name_margin_top" android:background="#00000000" android:textColor="@drawable/nav_textcolor" android:textSize="@dimen/channel_nav_open_item_name_text_size" /></LinearLayout>
可以看到第4行和第5行都为true,所以说,click事件被子控件消化了,去掉这2行(或者置为false),listview果然能响应onItemClick事件了。
总结
这个问题很简单,这篇日志主要是为了引出解决问题的思路。
解决问题之前,一定要把思路理清楚,先把问题的可能性都列出来,然后通过一系列的验证,得到问题发生的真正原因。
1 0
- 【Android问题集】ListView不响应onItemClick事件
- Android ListView onitemclick事件无响应
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- Android关于嵌套listView时onItemClick事件不响应的解决方法
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- Android 关于嵌套listView时onItemClick事件不响应的解决办法
- listView嵌套button或者其它clickable控件时会出现listView的onitemClick事件不响应的问题
- android listviewListview中的button点击事件或者是onitemclick不响应的问题
- popupwindow 嵌套ListView onitemclick 事件不能响应
- ListView的Item不响应OnItemClick
- android listview onItemClick不执行
- android listview 长按事件setOnItemLongClickListener不响应问题
- 关于listView中的自定义以后不响应onItemClick事件的解决方法
- ListView item 的view设置背景后OnItemClick事件不响应 解决办法
- android gridview listview onItemLongClick事件不响应
- 带有checkbox的listview的item onItemClick事件无响应问题
- ajax返回中文乱码解决方法
- 匿名内部类解说
- spring aop 配置方式
- JNI类型定义及类型签名
- Boost 入门之1 - 下载与安装
- 【Android问题集】ListView不响应onItemClick事件
- Android 百度定位SDKv4.2及6.0_百度定位实例_安卓定位实例
- ssl入門
- ATL( Active Template Library)
- UITableView使用
- 【Linux】【文件系统】squashfs文件系统挂载失败问题
- 3、相机pose的理解(explain_poses)
- TableLayout 表格布局,FrameLaout 帧布局 ,AbsoluteLayout绝对布局的分析
- 【转载】理解本真的REST架构风格