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;
}
});
}