Resaltar para el elemento seleccionado en la lista expandible

Tengo un diseño donde tengo una lista expandible en un fragmento a la izquierda y un fragmento de detalles a la derecha. Todo esto funciona bien.

Ahora me gustaría indicar qué elemento de la izquierda muestra los detalles que se muestran a la derecha y aquí tengo un problema.

En una vista de lista normal, he logrado esto configurando el modo de elección para la vista de lista en simple y luego utilizando un estado dibujable basado en el estado "activado". Cuando hago clic en el elemento, el fondo se establece en mi color seleccionado y permanece así hasta que seleccione otro elemento en la lista.

Intenté aplicar esto a mi vista de lista expandible y fue / es un fracaso total. No hubo errores, pero el elemento seleccionado no mantuvo su estado de color. No estoy seguro de si no estoy configurando el modo de elección correctamente (lo he intentado en el archivo de diseño, así como programáticamente, no parece hacer una diferencia), o apuntar a algo incorrecto (No estoy seguro de cómo podría ser, pero ...)

Cualquier ayuda / punteros apreciados (incluso si está en una dirección completamente diferente).

Fallo más actual:

Código de vista de lista expandible

private void fillData(String group, String child) {
    ExpandableListView lv;
    mGroupsCursor = mDbHelper.fetchGroup(group);
    getActivity().startManagingCursor(mGroupsCursor);
    mGroupsCursor.moveToFirst();
    lv = (ExpandableListView) getActivity().findViewById(R.id.explist);
    lv.setChoiceMode(ExpandableListView.CHOICE_MODE_SINGLE);        

    mAdapter = new MyExpandableListAdapter(mGroupsCursor, getActivity(),
            R.layout.explistlayout,
            R.layout.explistlayout,
            new String[] { "_id" },
            new int[] { android.R.id.text1 },
            new String[] { child },
            new int[] { android.R.id.text1 });
    lv.setAdapter(mAdapter);
    registerForContextMenu(lv);

    lv.setOnChildClickListener(new ExpandableListView.OnChildClickListener() { 
        @Override 
        public boolean onChildClick(ExpandableListView parent, View v, int groupPosition, int childPosition, long id)  
        { 
            mRowId  = id;
            EventDisplayFragment eventdisplay = new EventDisplayFragment();
            getFragmentManager().beginTransaction().replace(R.id.rightpane, eventdisplay).commit();
            return true; 
        } 
        }); 
}

public class MyExpandableListAdapter extends SimpleCursorTreeAdapter {

    public MyExpandableListAdapter(Cursor cursor, Context context,
            int groupLayout, int childLayout, String[] groupFrom,
            int[] groupTo, String[] childrenFrom, int[] childrenTo) {
        super(context, cursor, groupLayout, groupFrom, groupTo,
                childLayout, childrenFrom, childrenTo);
    }
    @Override
    protected Cursor getChildrenCursor(Cursor groupCursor) {
        Cursor childCursor = mDbHelper.fetchChildren(mGroup, groupCursor
                .getString(groupCursor
                        .getColumnIndex(AttendanceDB.EVENT_ROWID)));
        getActivity().startManagingCursor(childCursor);
        childCursor.moveToFirst();
        return childCursor;
    }
}

item_selector.xml

<?xml version="1.0" encoding="utf-8"?>
<selector xmlns:android="http://schemas.android.com/apk/res/android">
    <item 
     android:state_pressed="true" 
     android:drawable="@color/green" />
    <item 
     android:state_selected="true" 
     android:drawable="@color/blue" />
    <item 
     android:state_focused="true" 
     android:drawable="@color/violet" />
    <item 
     android:state_activated="true" 
     android:drawable="@color/blue" />
</selector>