El color del elemento ListView en la selección no funciona correctamente en la versión 8/9 de la API de Android

Actualmente estoy usando un ListView para mostrar una especie de elementos. He implementado un modo de acción para seleccionar varios elementos y eliminar de forma masiva que funciona bien en Android 4.x. Pero cuando probé con la versión 8 o 9 de la API (android 2.2.x / 2.3.x), la selección funciona internamente como se esperaba, pero los elementos de las filas están coloreados al azar.

Si el usuario selecciona la primera fila, se selecciona internamente la primera fila, pero la fila número 4 está coloreada. Cuando hago clic en otra fila, esta fila y la primera son de color. Es un comportamiento extraño que espero que funcione normalmente como en dispositivos 4.x.

Haga clic en la anulación de un clic largo para activar el modo de acción y verifique el elemento de ListView con un clic largo:

@Override
public boolean onItemLongClick(AdapterView<?> adapterView, View view, int position, long id) {
    if (actionMode == null) {
        listView.setOnItemClickListener(new CABClickListener());
        actionMode = startActionMode(new ListActionMode());
        // Check item pressed with long click
        listView.setItemChecked(position, true);
        view.setBackgroundColor(checkedColor);
        logger.debug("Item at pos. " + position + ", checked.");
    }
    return true;
}

CABClickListener, responsable de marcar / desmarcar elementos de ListView, marcarlos internamente y cambiar su color de fondo:

private final class CABClickListener implements AdapterView.OnItemClickListener {
    @Override
    public void onItemClick(AdapterView<?> adapterView, View view, int position, long id) {
        if (listView.isItemChecked(position)) {
            view.setBackgroundColor(checkedColor);
            logger.debug("Item at pos. " + position + ", checked.");
        } else {
            view.setBackgroundColor(uncheckedColor);
            logger.debug("Item at pos. " + position + ", unchecked.");
        }
    }
}

Esas clases / métodos están dentro de la Actividad,listView Se declara en la parte superior de ella.

Más consideraciones:

Utilizando ActionBarSherlock (muestra el CAB pero creo que esto no es importante aquí) y Roboguice, pero no tengo ningún problema con eso.Siempre estuve desarrollando con el emulador. Además, no pude probar mi aplicación con Android 3.x (tengo problemas con esta versión, el emulador no se inicia), así que no sé si el problema persiste en estas versiones. ACTUALIZACIÓN: Probado en Android 3.0 API 11, funciona bien como en 4.x.Yo depuré el código yViews en ambos metodos estan bien, pero cuando llamoview.setBackgroundColor(checkedColor);otroView es de color

¿Cualquier sugerencia? Espero que alguien pueda ayudar!

Respuestas a la pregunta(1)

Su respuesta a la pregunta