Подтвердить что ты не робот

TextView для отправки электронной почты при нажатии

У меня есть TextView с android: autoLink = "email".

Если я разместил свой адрес электронной почты там, появится ссылка, которую я могу щелкнуть.

Как у меня появляется другой текст (например, "Отправить отзыв" ) вместо адреса электронной почты, но по-прежнему вести себя одинаково при нажатии?

Спасибо

4b9b3361

Ответ 1

Для достижения желаемого требуется другой подход:

TextView feedback = (TextView) findViewById(R.id.TextViewSendFeedback);
feedback.setText(Html.fromHtml("<a href=\"mailto:[email protected]\">Send Feedback</a>"));
feedback.setMovementMethod(LinkMovementMethod.getInstance());

В основном это помещает HTML в TextView, поэтому я получаю ссылку "Отправить отзыв", но при нажатии открывается открытое по умолчанию приложение электронной почты.

Слово предупреждения: Попытка этого в эмуляторе изначально не работала для меня, заявив, что она не поддерживается. Это произошло потому, что у меня не было настройки учетной записи электронной почты. Настройка в эмуляторе сделала работу, как мне хотелось.

Ответ 2

Еще один простой способ в макете:

...
<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>
} 

Подробнее здесь: http://developer.android.com/reference/android/widget/TextView.html#attr_android:autoLink

Ответ 3

Вы можете использовать обе ссылки и электронную почту, если в TextView

задан следующий параметр:
android:autoLink="web|email"

ссылки будут открываться в браузере и почта будет отправлена ​​почтовым клиентом по умолчанию

Ответ 4

Возможно, было бы проще создать кнопку и внутри вашего onClickListener() вытащить электронное письмо из файла R.string.email.

Ответ 5

Сбросьте строки из strings.xml:

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


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