ListView.setOnItemClickListener、setOnCreateContextMenuListener无效
16lz
2022-05-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热插拔事件处理流程--Vold
- android UI事件
- Android的用户界面
- Android之创建程序快捷方式
- Android-常用UI控件(Spinner/AutoCompleteTextView)
- Android(java)学习笔记94:关于广播接收者的注册和使用心得
- Android(安卓)Broadcast 笔记
- mybatisplus的坑 insert标签insert into select无参数问题的解决
- Python技巧匿名函数、回调函数和高阶函数