无法点击组项ExpandableListView

时间:2014-07-09 12:05:14

标签: android expandablelistview

我创建了带有子项的ExpandableListView和Group项到此List:

MainActivity.xml

<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">

<ExpandableListView 
        android:id="@+id/list"
        android:layout_marginLeft="35dp"
        android:layout_marginRight="35dp"
        android:layout_width="fill_parent"
        android:layout_height="match_parent"/>

</LinearActivity>

GroupItem.xml

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="50dp"
    android:orientation="horizontal"
    android:padding="10dp" >

    <TextView
        android:id="@+id/Name"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_alignParentLeft="true"
        android:layout_alignParentTop="true"
        android:paddingLeft="25dp"/>  

    <ImageButton
        android:id="@+id/btn"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:adjustViewBounds="true"
        android:focusable="false"
        android:layout_alignParentRight="true"
        android:layout_alignParentTop="true"
        android:onClick="ToMachine"
        android:src="@drawable/right_connect"/>

</RelativeLayout>

我无法点击群组项目,只能点击按钮。我创建了简单的方法处理程序来列出

//      List.setOnGroupClickListener(new OnGroupClickListener(){
//
//          @Override
//          public boolean onGroupClick(ExpandableListView parent, View v,
//                  int groupPosition, long id) {
//              return true;
//          }});

1 个答案:

答案 0 :(得分:4)

尝试在XML中将android:focusable设置为true,并在代码中将其设置为false。像这样:

在视图组

ImageButton imgbutton = (ImageButton) convertView.findViewById(R.id.ibDeleteRecipe);
        imgbutton .setOnClickListener(new OnClickListener() {
            @Override
            public void onClick(View v) {               
                ...
            }
        });
        imgbutton .setFocusable(false);