46 votes

TextView pour envoyer un e-mail lorsque vous cliquez dessus

J'ai un TextView avec android:autoLink="email".

Si j'y mets mon adresse e-mail, un lien apparaît sur lequel je peux cliquer.

Comment puis-je faire apparaître un texte différent (par exemple « Envoyer des commentaires ») à la place de l'adresse e-mail tout en se comportant de la même manière lorsque je clique ?

Merci

67voto

neildeadman Points 1391

Pour réaliser ce que je voulais, il fallait une approche différente :

 TextView feedback = (TextView) findViewById(R.id.TextViewSendFeedback);
feedback.setText(Html.fromHtml("<a href=\"mailto:ask@me.it\">Send Feedback</a>"));
feedback.setMovementMethod(LinkMovementMethod.getInstance());

Cela place essentiellement du HTML dans TextView. J'obtiens donc un lien indiquant « Envoyer des commentaires », mais en cliquant dessus, l'application de messagerie par défaut s'ouvre.

Mot d'avertissement : essayer ceci dans l'émulateur n'a pas fonctionné pour moi au départ, disant que ce n'était pas pris en charge. C'était juste parce que je n'avais pas de configuration de compte de messagerie. La configuration d'un dans l'émulateur a fait fonctionner le lien comme je le voulais.

51voto

Hakem Zaied Points 3766

Vous pouvez utiliser à la fois des liens et un e-mail si vous définissez le paramètre suivant dans TextView

 android:autoLink="web|email"

les liens seront ouverts dans le navigateur et les mails seront envoyés par le client de messagerie par défaut

36voto

Dante Points 81

Un autre moyen simple de mise en page :

 ...
<TextView
        android:id="@+id/tvTelefone"
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:text="@string/sobre_telefone"
        android:textColor="#000000"
        android:autoLink="phone" />
...    

...
<string name="sobre_telefone">Contato: (45) 9145-0000</string>
} 

En savoir plus ici :http://developer.android.com/reference/android/widget/TextView.html#attr_android:autoLink

1voto

bgs Points 651

Il pourrait être plus facile de créer un bouton et à l'intérieur de votre onClickListener () extraire un e-mail de peut-être R.string.email.

-1voto

Gopal Points 1034

Pour les chaînes de strings.xml :

 <string name="your_string"><![CDATA[ contact us at <a href=\"mailto:recipient@mail.com\">recipient@mail.com</a> for more help.]]></string>


tvObject.setText(Html.fromHtml(getString(R.string.your_string)));
tvObject.setMovementMethod(LinkMovementMethod.getInstance());

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