我有一个可扩展的列表视图,我试图打开位于每个"主线"在我看来。 首先,我禁用扩展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工作正常,但几分钟之后就意识到那些开关并没有按照他们的意愿工作。例如,我改变第一行中的开关,组将扩展,但它也将改变其他行中的开关状态,但不会扩展它的组。 有人知道如何解决这个问题吗?