textView 中的文本未显示,但 java 代码有效。如果我将 autoLink="web" 标签添加到 textview ,文本会显示但 java 代码不会
Text In textView is not showing but the java code work. If i add autoLink="web" tag to textview , the text shows but java code doesn't
textView 中的文本未显示,但 java 代码有效。如果我将 autoLink="web" 标签添加到 textview ,文本会显示,但 java 代码不起作用。当按下 textview 时,用户应该被重定向到联系人电子邮件。
这是文本视图 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" />
如果我添加任何自动链接标签,textview 中的文本会显示,但用户不会重定向到电子邮件。
如果我删除标签,用户将被重定向到电子邮件,但文本视图文本不会显示。
这是 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());
}
}
在此先感谢您的帮助!
您需要将以下代码添加到您的 activity,因为您使用的方法已弃用
对于 kotlin,使用下面的代码片段
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>"));
}
也不需要在 TextView 标签中使用 autolink 属性。您可以跳过 xml 中的这一行,您将能够看到“联系我们”文本,单击 link 将导航至 gmail。
textView 中的文本未显示,但 java 代码有效。如果我将 autoLink="web" 标签添加到 textview ,文本会显示,但 java 代码不起作用。当按下 textview 时,用户应该被重定向到联系人电子邮件。
这是文本视图 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" />
如果我添加任何自动链接标签,textview 中的文本会显示,但用户不会重定向到电子邮件。 如果我删除标签,用户将被重定向到电子邮件,但文本视图文本不会显示。
这是 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());
}
}
在此先感谢您的帮助!
您需要将以下代码添加到您的 activity,因为您使用的方法已弃用
对于 kotlin,使用下面的代码片段
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>"));
}
也不需要在 TextView 标签中使用 autolink 属性。您可以跳过 xml 中的这一行,您将能够看到“联系我们”文本,单击 link 将导航至 gmail。