0

我正在尝试使用ExpandableListView并且在组视图中我需要一个 textview 和一个复选框(复选框在右侧)。我看到的问题是 groupIndicator 视图不再可点击 - 点击它不再扩展组。如果我删除该复选框,则 groupIndicator 接收事件并且组是可扩展的。另一个接收某种焦点的视图也会发生同样的情况,例如 EditText。这是包含 ExpandableListView 的片段的布局:

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent" >

    <ExpandableListView
        android:id="@+id/categoryList"
        android:layout_width="match_parent"
        android:layout_height="match_parent" >
    </ExpandableListView>

</RelativeLayout>

群布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:background="@color/white_background"
    android:orientation="horizontal" >

    <TextView
        android:id="@+id/txtCategoryGroup"
        android:layout_width="0dip"
        android:layout_height="@dimen/items_filter_group_height"
        android:layout_marginLeft="45dp"
        android:layout_marginRight="20dp"
        android:layout_weight="1"
        android:gravity="center_vertical|left"
        android:textIsSelectable="false" />

    <!--
    <CheckBox
        android:id="@+id/cbGroup"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </CheckBox>
    -->


</LinearLayout>

...而且,如果你觉得有用的话,孩子的布局:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="@dimen/items_filter_child_height"
    android:background="@color/white_background"
    android:orientation="horizontal" >

    <CheckBox
        android:id="@+id/cbProperty"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content" >
    </CheckBox>

</LinearLayout>

如果 CheckBox 未注释,则附件是我得到的布局: 在此处输入图像描述

点击红色标记的 groupIndicator 不会扩展组。留下评论会扩展它。如上所述:奇怪的是 EditText 也会发生同样的情况。

解决方法是将 groupIndicator 设置为 @null 并将 TextView 的复合左可绘制对象设置为响应ExpandableListView#OnGroupCollapseListener#OnGroupExpandListener的相关内容,但我不喜欢为类似的东西编写代码。

谢谢!

4

1 回答 1

1

将 android:descendantFocusability="blocksDescendants" 放在组和子的 LinearLayout 中。

于 2013-05-14T07:50:59.863 回答