0

J'ai étudié un certain nombre de réponses à des questions similaires, mais aucune ne fonctionne dans ce cas particulier (qui n'est couvert nulle part ailleurs).En cliquant sur un ListView qui a un élément longclick

  • J'ai un ListView contenant ListItems avec un certain nombre de TextView s sur chacun.

  • Quand je fais un clic court sur tout ListItem J'élargissons cet élément pour afficher plus d'informations (en mettant en œuvre un AdapterView.OnItemClickListener).

  • L'un des TextView a android:longClickable="true". Il en est ainsi que je peux exécuter une autre action lorsque ce particulier TextView est longtemps cliqué (j'ai réalisé ce en mettant en œuvre AdapterView.OnItemLongClickListener et la vérification de l'TextView particulier id)

  • J'ai mis android:clickable="false" pour que TextView

Mon problème est que maintenant quand je fais un clic court partout sur le ListItem l'élément se développe comme prévu - sauf lorsque le clic court est sur t En particulier TextView, auquel cas rien ne se passe.

Donc le clic court est consommé par quelque chose même si j'ai cliqué sur false?

Ai-je manqué quelque chose d'évident? Si je mets le android:longClickable="false" sur ce TextView alors l'expansion fonctionne bien encore.

Répondre

0

Il semble que l'événement soit interrompu par le programme d'écoute à clic long. Essayez de vérifier la valeur de retour de "onItemLongClickListener", c'est un type booléen, qui décidera si l'événement est traité ou non.

Bonne chance!

+0

Je pense que vous avez manqué mon point. Je ne fais pas un long clic donc le 'onItemLongClickListener' n'est pas déclenché. Ce que je veux arriver est pour 'onClickListener' pour le' ListItem' qui contient le 'TextItem' à être tiré. Mais ce qui se passe réellement est ... rien. – SimonH