将具有点击事件控件的android:focusable属性置成false就可以了。如下例子是可以既捕捉onItemClick事件(在非checkbox和非button区域),又可以捕捉onClick等事件。看到网上还有很多人不会,特意共享一下。

注意:

<RelativeLayout>中

android:descendantFocusability="blocksDescendants"

<ImageButton>中

android:focusable="false"

这两项的设置很关键,如果不设置,将导致ListView的ItemClick事件将无法触发,该事件被ImageButton的click事件屏蔽了。


<?xml version="1.0" encoding="utf-8"?><LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"    android:orientation="horizontal" android:layout_height="fill_parent"    android:id="@+id/LinearLayoutGameListItem" android:layout_width="fill_parent"    android:gravity="center_vertical" android:layout_marginLeft="@dimen/mygamecenter_common_margin"    android:layout_marginRight="@dimen/mygamecenter_common_margin"><CheckBox android:id="@+id/CheckBoxGameListItem"            android:focusable="false" android:layout_width="wrap_content"            android:layout_height="wrap_content"></CheckBox>    <Button android:text="@string/top" android:id="@+id/ButtonTop"        android:textColor="#FFFFFF" android:focusable="false"        android:layout_width="wrap_content" android:layout_height="@dimen/game_list_item_button_height"        android:layout_marginRight="@dimen/game_list_item_button_margin_right"        android:paddingLeft="@dimen/game_list_item_button_padding_left"        android:paddingRight="@dimen/game_list_item_button_padding_right"android:background="@drawable/button_cool_small_selector"></Button></LinearLayout>


更多相关文章

  1. View事件分发机制
  2. textView 属性总结
  3. ゞAndroid(安卓)- 疑难問題 - 技巧小结 ゞ
  4. 2020-09-07
  5. layout中设置图片自适应大小,并且设置最大宽高
  6. android中的UI控制(二)
  7. android中的UI控制(二)
  8. 【Android开发基础】应用界面主题Theme使用方法
  9. 教你如何开关Android的APN网络

随机推荐

  1. android与服务器交互方式
  2. 2021.1.15 ——运算符及关键字
  3. Android动态化方案
  4. 状态机设计
  5. 聊聊java中的注解
  6. 授权与认证实战
  7. Android(安卓)Studio多渠道打包、自定义
  8. java关键字系列(6)void
  9. ConcurrentHashMap.computeIfAbsent 死循
  10. java多线程(11)AtomicBoolean原子类分析