0

ExpandableListViewを使用しようとしていますが、グループ ビューにはテキストビューとチェックボックスが必要です (チェックボックスは右側にあります)。私が見ている問題は、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 のコンパウンド left drawable を、 ExpandableListView#OnGroupCollapseListenerおよび#OnGroupExpandListenerに応じて関連するものに設定することですが、私はそのようなコードを書くことに満足していません。

ありがとう!

4

1 に答える 1

1

グループと子の LinearLayout の両方に android:descendantFocusability="blocksDescendants" を配置します。

于 2013-05-14T07:50:59.863 に答える