2
votes

Existe-t-il un moyen de stocker le numéro d'élément ListView dans un int dans Android?

J'ai importé un fichier texte dans un ListView sous Android.

Si je clique sur un élément dans listView , c'est le numéro de ligne devrait être stocké dans un int.

Par exemple (il s'agit d'un ListView (fichier texte)):

  list.setOnItemClickListener(new AdapterView.OnItemClickListener() {


                    public void onItemClick(AdapterView<?> parent, View view,
                                            int position, long id) {



                        boolean co = true;

                        int lineNumber = list.getSelectedItemPosition();

                        Toast.makeText(MainActivity.this, String.valueOf(lineNumber), Toast.LENGTH_SHORT).show();

                    }
                });


0 commentaires

3 Réponses :


2
votes
listView.getSelectedItemPosition()
listView.getCheckedItemPosition()

4 commentaires

Merci, mais pouvez-vous expliquer quelle est la différence? Je suis vraiment désolé, je suis un débutant.


essayez comme ceci int lineNumber = listView.getSelectedItemPosition ()


Attendez, j'ai converti int en chaîne et l'ai mis dans un toast. Le toast disait toujours -1. Au lieu de (le 4ème élément de la liste est cliqué -> 4 devrait apparaître dans le toast)


Si vous essayez comme ça, inutile d'appeler list.getSelectedItemPosition (). La position du paramètre dans votre onItemClick est le numéro d'élément requis. Vérifiez la réponse modifiée. J'espère que cela aide. Bon codage.



0
votes

Je viens d'utiliser la position int incluse dans la méthode:

 public void onItemClick(AdapterView<?> parent, View view,
                                             int position, long id)

Toast.makeText(MainActivity.this, String.valueOf(position), Toast.LENGTH_SHORT).show();


0 commentaires

1
votes

Tout d'abord, l'index ListView commence à zéro, donc l'index doit être comme ceci

                @Override
            public void onItemClick(AdapterView<?> parent, View view, int position, long id)
            {
                // TODO: Implement this method
                String title = parent.getItemAtPosition(position);
            }

Et vous pouvez facilement obtenir la position de l'élément sélectionné tel qu'il est déclaré comme paramètre dans

public void onItemClick(AdapterView<?> parent, View view, int position, long id)

Et vous pouvez également obtenir le nom de l'élément sélectionné par cette ligne dans onItemClick ()

Corn (0)
Apple (1)
Melon (2)


0 commentaires