1

我有一个 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;
            }
        });
    }
4

0 回答 0