J'ai une ListView sous-classe que j'permettre des sélections sur lorsque le contexte de la barre d'action (ACR) est active. La CABINE est défini comme un rappel à la onItemLongClick événement:
public boolean onCreateActionMode(ActionMode mode, Menu menu) {
// Inflate a menu resource providing context menu items
MenuInflater inflater = mode.getMenuInflater();
inflater.inflate(context_menu, menu);
getListView().setChoiceMode(ListView.CHOICE_MODE_SINGLE);
return true;
}
C'est très bien, et la liste fonctionne comme prévu, avec l'élément actuellement sélectionné rester en surbrillance quand on les touche.
Quand je ferme la CABINE, je veux la liste pour revenir à la normale (c'est à dire en mode Tactile). Le problème est que le dernier élément sélectionné reste en surbrillance indéfiniment, indépendamment de ce que les méthodes que j'essaie de l'effacer:
public void onDestroyActionMode(ActionMode mode) {
//Unselect any rows
ListView lv = getListView();
lv.clearChoices(); // Has no effect
lv.setChoiceMode(ListView.CHOICE_MODE_NONE); // Has no effect on the highlighted item
lv.setFocusable(false); // Has no effect
lv.setSelection(0); // Has no effect
mActionMode = null;
}
Toutes les suggestions?