ListView setOnItemClickListener et setOnItemSelectedListener pour stocker l'Index de l'Élément Sélectionné

J'ai lu sur ce site qu'il est nécessaire de personnaliser l'setOnItemSelectedListener et setOnItemClickListener d'une ListView si nous voulons connaître l'Indice de la SelectedItem (.getSelectedItemPosition()). C'est ce que je fais, mais il ne stocke la position de la SekectedItem, au lieu de cela, j'ai toujours -1...

Ce que je veux faire, c'est juste pour donner à l'utilisateur un moyen de supprimer des éléments d'une liste par la sélection et de l'Élément et en Cliquant sur un bouton.

Voir le code ci-dessous :

    listViewPeople.setOnItemClickListener(new ListView.OnItemClickListener() {
        @Override
        public void onItemClick(AdapterView<?> a, View v, int i, long l) {
            try {
                //Remembers the selected Index
                listViewPeopleId = listViewPeople.getSelectedItemPosition();
            }
            catch(Exception e) {
                System.out.println("Nay, cannot get the selected index");
            }
        }
    });

    listViewPeople.setOnItemSelectedListener(new ListView.OnItemSelectedListener() {
        @Override
        public void onItemSelected(AdapterView<?> a, View v, int i, long l) {
            try {
                //Remembers the selected Index
                listViewPeopleId = listViewPeople.getSelectedItemPosition();
                System.out.println("Yay, set the selected index " + listViewPeopleId);
            }
            catch(Exception e) {
                System.out.println("Nay, cannot get the selected index " + listViewPeopleId);
            }
        }

        @Override
        public void onNothingSelected(AdapterView<?> arg0) {
            try {
                //Remembers nothing selected
                listViewPeopleId = -1;
                System.out.println("Yay, set that nothing is selected " + listViewPeopleId);
            }
            catch(Exception e) {
                System.out.println("Nay, cannot set that nothing is selected " + listViewPeopleId);
            }
        }
    });

Quel est le problème??

Merci pour votre aide!

Christophe

OriginalL'auteur Christophe | 2010-06-03