当ListView的Item中包含Button、ImageButto等控件时,会导致item无法获取焦点,从而无法响应点击事件。
这时候需要设置所有子控件无法焦点:可以使用
android:focusable="false"


或在item layout文件中设置
android:descendantFocusability="blocksDescendants"


这样item就可以获取Item的点击事件,但子控件中的Button仍然无法响应。

需要自定义一个Adapter,重写getView()方法。

这里就以SimpleAdapter作为示例:

@Overridepublic View getView(int position, View convertView, ViewGroup parent) {View v = super.getView(position, convertView, parent);final int num = position;ImageButton b = (ImageButton) v.findViewById(R.id.myButton);b.setOnClickListener(new OnClickListener() {@Overridepublic void onClick(View v) {System.out.println("item:"+num+"中的按钮响应");}});return v;}


更多相关文章

  1. android的frameworks层键盘事件处理流程分析
  2. Android学习笔记-Android非布局activity中布局文件及控件加载方
  3. Android艺术开发探索第三章学习笔记——View的事件体系(上)
  4. Android 屏幕实现水龙头事件
  5. Android中的事件分发传递机制
  6. Android Studio高级控件(自动提示文本框)
  7. android中SeekBar拖动进度条的使用及事件监听
  8. Android 分页控件制成底部菜单.

随机推荐

  1. android中JSON数据的读写方法
  2. Retrofit2.0+RxJava+MVP+Bmob的使用
  3. android activity
  4. Android中RelativeLayout各个属性的含义
  5. Android下的图形渲染配置文件egl.cfg
  6. 后台(02)——MySQL(2)
  7. AndroidStudio ListView 简单使用 (使用a
  8. Android Studio安卓学习笔记(二)Android
  9. Android外设AOA技术原理
  10. Android(安卓)之窗口小部件高级篇--App W