Android expandablelistview Gruppe / Eltern-Hintergrundbild ändern sich beim Ein- oder Ausblenden

Ich versuche, das Hintergrundbild der expandablelistview-Gruppe auszutauschen, wenn es komprimiert oder expandiert wird. Das Hintergrundbild wurde jedoch nicht korrekt ausgetauscht. Wenn ich zum Beispiel die erste Gruppe erweitere, wird der Hintergrund der zweiten oder dritten Gruppe ausgetauscht.

Ich verwende RelativeLayout (Gruppenlayout) und SimpleExpandableListAdapter (Adapter). Folgendes habe ich getan:

// Create 2 drawable background. One for collapse and one for expand
private Drawable collapseBG, expandBG;
private ExpandableListView myView;

public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);
    setContentView(R.layout.main);
    collapseBG = getResources().getDrawable(R.drawable.box_bg_header_collapse);
    expandBG = getResources().getDrawable(R.drawable.box_bg_header_expand);
    myView = (ExpandableListView) findViewById(R.id.myView);
}

myView.setOnGroupCollapseListener(new ExpandableListView.OnGroupCollapseListener() {
    public void onGroupCollapse(int groupPosition_c) {
        myView.getChildAt(groupPosition_c).setBackgroundDrawable(collapseBG);
    }
});

myView.setOnGroupExpandListener (new ExpandableListView.OnGroupExpandListener() {
    public void onGroupExpand(int groupPosition_e) {
        myView.getChildAt(groupPosition_e).setBackgroundDrawable(expandBG);
    }
});

Weiß jemand, wie das funktioniert?

Antworten auf die Frage(4)

Ihre Antwort auf die Frage