2010-01-26 5 views
1

J'ai une mise en page qui contient cinq TextView. Lorsque l'utilisateur clique sur l'un des cinq TextView, il fera la même chose: ouvrir une autre activité. Ainsi, le comportement OnClickerListener aux cinq TextView est le même. Est-il possible que j'ajoute uniquement OnClickListerner à une vue, par ex. à la mise en page, donc je ne dois pas ajouter OnClickListerner à chacun des cinq TextView? En d'autres termes, si aucun des composants enfants ne reçoit l'événement CLICK, l'événement CLICK passera-t-il à leur parent, la disposition?Passez l'événement à la vue parente?

Merci.

+0

Vous pouvez ajouter un OnClickerListener à presque toutes les vues pour autant que je sache. – m6tt

Répondre

1

Je ne crois pas qu'il existe un autre endroit pour recevoir automatiquement les entrées de clic de toutes les vues dans une mise en page.

Vous pouvez étendre TextView avec votre comportement OnClick personnalisé.

Ou simplement, passez la même instance OnClickListener à toutes vos zones de texte.

+0

Ce comportement est incorrect. Vois ma réponse. Les événements éclatent. –

4

La réponse ci-dessus de Mayra est incorrecte. Si le contrôle de niveau le plus bas (c'est-à-dire le textview dans votre cas) est et non, un OnClickListener() lui est associé, puis l'événement click «monte en bulle» vers le parent. Il continuera ainsi jusqu'à ce qu'une vue qui implémente un OnClickListener soit trouvée; sinon le clic est ignoré (je suppose). J'ai profité de ce comportement plusieurs fois.

Aussi, reportez-vous à ce poste pour plus de détails: Stackoverflow Question 8135032

Je sais que c'est un poste très ancien, mais a voulu corriger pour toute autre personne qui trébuche sur cette question.

1

Ce n'est peut-être pas le cas mais j'ai récemment passé quelques heures à essayer de faire en sorte que TextView propage ses événements click à son parent. Je n'étais pas réussi parce que, apparemment, si vous définissez le MovementMethod tv.setMovementMethod(LinkMovementMethod.getInstance()); il va attraper le "bouillonnement" et ne jamais atteindre son parent.

Questions connexes