web-dev-qa-db-fra.com

Comment récupérer la chaîne sur laquelle on a cliqué à partir d'une liste à l'aide de OnItemClick?

J'ai un problème ici. Il semble simple et je continue à chercher sa solution. Malheureusement, je ne trouve rien. C’est mon problème ... Ce que je cherche à faire est d’obtenir la chaîne affichée dans la liste à partir d’une méthode de clic sur élément.

Ceci est ma listview:

- lol
- hi
- waw

Quand je clique sur "lol", je veux obtenir la chaîne "lol" .....

Que dois-je mettre dans mon code ici? :

lv = (ListView) findViewById(R.id.list_view);
lv.setOnItemClickListener(new OnItemClickListener()
{
 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
 {
    // Intent newI = new Intent(this,PDetail.class); 
     Intent newI = new Intent (Create.this, PDetail.class);
     //String sd = ((() arg1).getText()).toString();
     //newI.putExtra("x", arg2);
     startActivity (newI);
    // db.getList(arg3);

 }});
13
Charles Lynch
 public void onItemClick(AdapterView<?> arg0, View arg1, int arg2,long arg3)
     {
         String data=(String)arg0.getItemAtPosition(arg2);


     }});

data contient les données de votre position cliquée. Faites ce que vous voulez faire avec ça.

27
Spring Breaker

arg0 est votre AdapterView, généralement un ListView. arg2 est la position dans la ListView. Vous pouvez obtenir les éléments de votre adaptateur:

Object item = arg0.getItemAtPosition(arg2);

Selon le type de votre objet dans votre adaptateur, une solution simple est:

String value = item.toString();
5
njzk2

Le paramètre arg1 de votre écouteur est la vue de l'élément sur lequel vous avez cliqué.

En supposant que les éléments de votre ListView soient TextViews, vous pouvez essayer:

String itemText = ((TextView) arg1).getText();
2
fiddler

use String val = (String) arg0.getItemAtPosition (arg2)

1
karan421