Текст в textView не отображается, но код Java работает. Если я добавлю тег autoLink = "web" в текстовое представление, текст будет отображаться, но код Java не будет работать. При нажатии текстового просмотра пользователь должен быть перенаправлен на контактный адрес электронной почты.
Это текстовое представление xml.
<TextView
android:id="@+id/textViewContact"
android:layout_width="match_parent"
android:layout_height="75dp"
android:layout_marginBottom="250dp"
android:autoLink="email"
android:fontFamily="@font/rubik_bold"
android:textAlignment="center"
android:textColor="#FFFFFF"
android:textSize="30sp"
android:textStyle="bold"
app:layout_constraintBottom_toBottomOf="parent"
app:layout_constraintEnd_toEndOf="parent"
app:layout_constraintStart_toStartOf="parent" />
Если я добавлю какой-либо тег autoLink, текст в текстовом окне отображается, но пользователь не перенаправляется на электронную почту. Если я удалю тег, пользователь будет перенаправлен на электронную почту, но текст текстового просмотра не отображается.
Это код Java:
import androidx.appcompat.app.AppCompatActivity;
import android.content.Intent;
import android.net.MailTo;
import android.net.Uri;
import android.os.Bundle;
import android.text.Html;
import android.text.method.LinkMovementMethod;
import android.view.View;
import android.widget.TextView;
public class ContactUs extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_contact_us);
TextView mail =(TextView) findViewById(R.id.textViewContact);
mail.setText(Html.fromHtml("<a href=\"mailto:confidential@gmail.com\">Contact Us</a>"));
mail.setMovementMethod(LinkMovementMethod.getInstance());
}
}
Заранее благодарим за помощь!
1 ответ
Вам необходимо добавить приведенный ниже код в свою деятельность, поскольку используемый вами метод устарел.
Для котлина используйте нижеприведенный фрагмент кода
if (Build.VERSION.SDK_INT >= 24) {
mail.text = Html.fromHtml("<a href=\"mailto:confidential@gmail.com\">Contact Us</a>",Html.FROM_HTML_MODE_LEGACY)
} else {
mail.text = Html.fromHtml("<a href=\"mailto:confidential@gmail.com\">Contact Us</a>")
}
Для Java используйте строки ниже
if (Build.VERSION.SDK_INT >= 24) {
mail.setText(Html.fromHtml("<a href=\"mailto:confidential@gmail.com\">Contact Us</a>",Html.FROM_HTML_MODE_LEGACY));
} else {
mail.setText(Html.fromHtml("<a href=\"mailto:confidential@gmail.com\">Contact Us</a>"));
}
Также нет необходимости в свойстве autolink в теге TextView. Вы можете пропустить эту строку в xml, и вы сможете увидеть текст «Свяжитесь с нами», а щелкнув ссылку, вы перейдете в Gmail.
Похожие вопросы
Новые вопросы
java
Java — это высокоуровневый объектно-ориентированный язык программирования. Используйте этот тег, если у вас возникли проблемы с использованием или пониманием самого языка. Этот тег часто используется вместе с другими тегами для библиотек и/или фреймворков, используемых разработчиками Java.