2015-09-14 2 views
2

Eh bien, j'ai une liste avec un OnItemClickListener, chaque élément de listview est une vue personnalisée avec deux textviews, je veux obtenir le texte de la première vue du texte quand un élément est cliqué, Alors, comment Je fais ça? quand un article est cliqué je peux juste obtenir la vue qui est cliquée mais comment puis-je obtenir la vue de texte sur cette vue faite sur commande?Obtenir des vues d'une vue personnalisée dans android

+0

Pouvez-vous vérifier s'il y a un moyen d'obtenir les articles à l'intérieur de la vue personnalisée? quelque chose comme des éléments [0] ou une fonction qui renvoie l'élément donné un index – dasjkdj

+0

J'ai essayé la première réponse ci-dessous et cela fonctionne je ne savais pas qu'il existe une façon simple! @ Víctor – Suzi

Répondre

4

Traverse la hiérarchie de ce point de vue:

TextView textView = (TextView) clickedView.findViewById(R.id.first_text_view); 

clickedView est fourni par OnItemClickListener.

+1

Oh merci! cette réponse est simple et fonctionne bien! – Suzi

1
yourListView.setOnItemClickListener(new AdapterView.OnItemClickListener() { 
      @Override 
      public void onItemClick(AdapterView<?> parent, View view, int position, long id) { 
       textFromFirstView = yourArray.get(position).getTextFromFirst(); 
      } 
     }); 

whre getTextFromFirst() est getter pour votre textview par exemple

+0

Ceci est une solution de travail pour moi. Ajoutez simplement le onItemClickListener et la position vous indiquera quel élément est cliqué. En réglant ceci à 0, vous pouvez toujours obtenir le premier élément. GetTextFromThis() doit être implémenté dans l'élément CustomListView! – glethien

+0

Je pense que je n'ai pas compris votre solution, la position donne la position de l'élément sur la liste, mais je veux obtenir un textview sur un élément de listview. – Suzi