我有一个 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"
android:gravity="center_horizontal"
android:orientation="vertical" >
<TextView
android:id="@+id/equipRow"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignBottom="@+id/checkBox1"
android:layout_alignParentLeft="true"
android:layout_alignParentTop="true"
android:layout_toLeftOf="@+id/checkBox1"
android:gravity="center_vertical|center_horizontal"
android:text="Example"
android:textColor="@android:color/background_dark"
android:textColorHint="@android:color/background_dark"
android:textSize="25dp" />
</RelativeLayout>
这里是 onChildClick 函数:
private void ItemClick(){
this.getExpandableListView().setOnChildClickListener(new ExpandableListView.OnChildClickListener() {
public boolean onChildClick(ExpandableListView parent, View v,
int groupPosition, int childPosition, long id) {
RelativeLayout rL = (RelativeLayout)v;
TextView eView = (TextView) (((RelativeLayout)v).findViewById(R.id.equipRow));
eView.setBackgroundColor(Color.argb(150,66, 165, 29));
exListAdapter.notifyDataSetChanged();
return true;
}
});
}