如果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
}
};

更多相关文章

  1. Android热插拔事件处理流程--Vold
  2. android UI事件
  3. Android的用户界面
  4. Android之创建程序快捷方式
  5. Android-常用UI控件(Spinner/AutoCompleteTextView)
  6. Android(java)学习笔记94:关于广播接收者的注册和使用心得
  7. Android(安卓)Broadcast 笔记
  8. mybatisplus的坑 insert标签insert into select无参数问题的解决
  9. Python技巧匿名函数、回调函数和高阶函数

随机推荐

  1. Android实现授权访问网页的方法
  2. 【Android】删除已知路径的文件或文件夹
  3. Android:媒体按键消息
  4. android启动其他应用的一段代码
  5. React Native物理back返回键的使用
  6. Android 重新获取验证码 倒计时
  7. android经常调用的组件
  8. Android(安卓)Service两种启动方式
  9. Android-Intent的使用方法详解
  10. Android RecyclerView的简单使用