L'appel de setSelection() de ListView semble avoir un problème. beaucoup de gens posent des questions à ce sujet. il y a des réponses mais aucune ne fonctionne. ignorer les problèmes d'effets visuels. Voici un scénario de base qui se traduit par des résultats inattendus:listView.setSelection (n); m = listView.getSelectedItemPosition(); // m! = n. Pourquoi?
listView.setSelection(5); //listView is a ListView. there are >= 6 items in the list
int sel=listView.getSelectedItemPosition();
vous attendez == 5 sel mais en réalité il est -1 (la méthode ne fonctionnait pas?)
est donc ce un bug et sinon, ce sont les règles qui régissent l'établissement et la récupération de l'élément sélectionné?
qu'est-ce que cela signifie ** mais il sera toujours positionné de manière appropriée **? – inor
Je ne l'ai pas essayé, mais je suppose que cela signifie que l'objet sera au centre de l'écran, ou du moins il sera visible. –
merci. Je me demande s'il ne serait pas plus logique pour la méthode setSelection de lancer RuntimeException si elle ne fait rien à cause du mode dans lequel elle est actuellement (mode tactile). cela pourrait vous faire économiser beaucoup de temps et de questions car l'appel se comporte comme si tout était normal et il a exécuté ce que vous lui avez demandé ... – inor