2011-11-09 18 views
8

¿Hay alguna manera de eliminar elegantemente la selección en un ListView? Actuaría de la manera opuesta a ListView # setSelection (int position). Me gustaría eliminar mediante programación la selección de ListView (de modo que no se seleccione ningún elemento). No parece que la API tenga una manera fácil de hacerlo. ¿Alguna idea?Android ListView Eliminar selección

Mi pregunta es similar a: Android: disable ListView selection

Respuesta

0

Ok lo que podría hacer para este conjunto el color de selección y los antecedentes tanto del mismo color si es posible o conjunto de selección con valor alfa completo que hace que sea transparente e incluso si la selección no es que no será visible más

0

la forma más simple que pude encontrar es refrescar el adaptador ListView está utilizando:

listAdapter.notifyDataSetChanged(); 

ListView a continuación, se actualizará, h manteniendo las mismas opciones, pero la selección resaltada se borrará.

+0

Este método no existe (en mi api v.19) – Asterius

+0

@ Asterius, es un método del adaptador de lista, no el ListView. –

0

Uso listView.setItemChecked(-1, true);

3

Ninguna de las otras respuestas trabajó para mí, así que hice esto:

SparseBooleanArray positions = getListView().getCheckedItemPositions(); 
    for (int i = 0; i < positions.size(); i++) { 
     getListView().setItemChecked(positions.keyAt(i), false); 
    } 

No es muy elegante, pero funciona.