TextView для отправки электронной почты при нажатии
У меня есть TextView с android: autoLink = "email".
Если я разместил свой адрес электронной почты там, появится ссылка, которую я могу щелкнуть.
Как у меня появляется другой текст (например, "Отправить отзыв" ) вместо адреса электронной почты, но по-прежнему вести себя одинаково при нажатии?
Спасибо
Ответы
Ответ 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());