使用开关扩展的可扩展列表视图

时间:2015-04-03 13:39:21

标签: android expandablelistview

我有一个可扩展的列表视图,我试图打开位于每个"主线"在我看来。 首先,我禁用扩展exp list ivew:

expListView.setOnChildClickListener(new ExpandableListView.OnChildClickListener() {

        @Override
        public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id) {
            //Nothing here ever fires

            return true;
        }
    });

这是exp列表视图主视图的xml:

<RelativeLayout
    android:layout_width="fill_parent"
    android:layout_height="48dp"
    android:layout_alignParentBottom="true"
    android:layout_alignParentEnd="true"
    android:background="@color/White"

    >

    <TextView
        android:background="@drawable/border"
        android:paddingLeft="18dp"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="new text"
        android:id="@+id/tW"
        android:textSize="20dp"
        android:textStyle="bold"
        android:paddingBottom="8dp"
        android:layout_alignParentTop="true"
        android:layout_alignParentStart="true"
        android:elevation="5dp"
        />

    <Switch
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text=""
        android:textOff="Off"
        android:textOn="On"
        android:id="@+id/switch1"
        android:layout_alignParentTop="true"
        android:layout_alignParentEnd="true"
        android:layout_marginEnd="40dp" />


</RelativeLayout>

然后我自定义适配器用于getGroupView中的exp列表视图实现对于已检查的更改侦听器,如下所示:

final ExpandableListView elv = (ExpandableListView) parent;
    mySwitch.setOnCheckedChangeListener(new CompoundButton.OnCheckedChangeListener() {
        public void onCheckedChanged(CompoundButton buttonView, boolean isChecked) {
            if(isChecked){
                elv.expandGroup(groupPosition);
            }
            else{
                elv.collapseGroup(groupPosition);
            }
        }
    });

问题是,让我说我有6个主要观点&#34;并且在每个中都有一个文本视图和开关。起初看起来evrything工作正常,但几分钟之后就意识到那些开关并没有按照他们的意愿工作。例如,我改变第一行中的开关,组将扩展,但它也将改变其他行中的开关状态,但不会扩展它的组。 有人知道如何解决这个问题吗?

0 个答案:

没有答案