211 votes

Comment cliquez ou tapez sur un texte TextView

Je sais que c’est si facile (doh...) mais je cherche un moyen d’exécuter une méthode sur écoutes ou en cliquant sur une ligne de texte dans une application Android de TextView.

Je continue à penser à écouteurs bouton et auditeur de la méthode anonyme appels, mais il ne semble pas s’appliquer à TextView.

Quelqu'un peut-il m’indiquer à un extrait de code pour montrer comment en cliquant ou en tapotant sur un morceau de texte dans un TextView exécute une méthode ?

467voto

Patrick Cullen Points 5209

Vous pouvez configurer le gestionnaire de clic en xml avec ces attribut :

N’oubliez pas l’attribut cliquable, sans elle, le gestionnaire de clic n’est pas appelé.

main.Xml

MyActivity.java

55voto

Joshua Sutherland Points 313

C’est peut-être pas tout à fait ce que vous cherchez, mais c’est ce qui a fonctionné pour ce que je fais. Tout cela est après mon `` :

28voto

Droid Points 509

OK j’ai ont répondu à ma propre question (mais c’est le meilleur moyen ?)

C’est comment faire pour exécuter une méthode lorsque vous cliquez ou tapez sur du texte dans un TextView :

et mon main.xml est :

13voto

tony gil Points 2966

de l’intérieur d’une activité qui appelle une mise en page et un textview, cet écouteur clic fonctionne :

l’affichage de texte est déclaré comme cet (Assistant par défaut) :

et dans le fichier strings.xml

3voto

njzk2 Points 17085

Cliquer sur une pièce du texte (et non pas l'ensemble de l' TextView), vous pouvez utiliser Html ou Linkify (à la fois de créer des liens d'ouvrir les url, cependant, pas un rappel à l'application).

Linkify

L'utilisation d'une ressource de chaîne comme:

<string name="links">Here is a link: http://www.stackoverflow.com</string>

Puis, dans un textview:

TextView textView = ...
textView.setText(R.string.links);
Linkify.addLinks(textView, Linkify.ALL);

Html

À l'aide de Html.fromHtml:

<string name="html">Here you can put html &lt;a href="http://www.stackoverflow.com"&gt;Link!&lt;/&gt;</string>

Puis dans votre textview:

textView.setText(Html.fromHtml(getString(R.string.html)));

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X