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