ListView.setOnItemClickListener、setOnCreateContextMenuListener无效
16lz
2021-01-23
如果ListView中的单个Item的view中存在checkbox,button等view,会导致ListView.setOnItemClickListener无效,
事件会被子View捕获到,ListView无法捕获处理该事件.
解决方法:
在checkbox、button对应的view处加
android:focusable="false"
android:clickable="false"
android:focusableInTouchMode="false"
其中focusable是关键
从OnClickListener调用getSelectedItemPosition(),Click 和selection 是不相关的,Selection是通过D-pad or trackball 来操作的,Click通常是点击操作的。
arg2参数才是点击事件位置的参数
第二种方法 就是在自己的getView中
convertView = mInflater . inflate ( R . layout . list_item_text , null ); convertView . setClickable ( true ); convertView . setOnClickListener ( clickListener ); public OnClickListener myClickListener = new OnClickListener () { public void onClick ( View v ) { //code to be written to handle the click event } };
更多相关文章
- Android 之 事件
- Android之SimpleAdapter简单实例和SimpleAdapter参数说明(zt)
- Android:使用SAX或者DOM或者pull操作XML文件
- Android实现TextView部分文本监听单击事件
- Android重写OnTouchListener实现双击事件的监听
- android 长按和点击监听事件 谁先执行
- 【android】ORMLite框架 的使用方法---给你的数据库操作插上翅膀