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


本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/homebei2/archive/2011/03/25/6277905.aspx

更多相关文章

  1. [Android] 开发资料收集:视图、组件、自定义控件
  2. Android动画解析--XML
  3. Android的Log捕获与有效性验证及异常初步分析
  4. Android之MVVM架构指南(二):DataBinding
  5. Android(安卓)功耗(12)---如何查找待机唤醒源
  6. android监听返回按钮事件
  7. 事件分发机制
  8. android ANR相关问题
  9. Android(安卓)View的onTouch和onClick和onLongClick事件

随机推荐

  1. Android(安卓)Fragment实践(二)
  2. Ubuntu 下用 Eclipse 编译调试 Android(
  3. Android原生GPS和网络定位工具类
  4. Android下 SQLite的使用
  5. Windows X64下安装SDK Platform
  6. android 控件layout的显示和消失 visibil
  7. Android一些知识点汇总
  8. 【Android(安卓)UI】具有弹性的ListView
  9. Android制作的一个通讯录
  10. Android事件分发机制的探索与发现之View