AutoLink 不会将电子邮件识别为电子邮件
AutoLink won't recognize an email as an email
我有一段代码可以识别电子邮件,但没有。我认为这是因为电子邮件地址的 'beginning' 部分(@ 符号之前的部分)只有两个字符。有谁知道如何解决这一问题?我尝试使用 android:autoLink="all"
但这也不起作用。
这是我的电子邮件代码:
<TextView
android:id="@+id/textView7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="General Inquiries: \ncontact@opsconsulting.com"
android:layout_marginTop="18dp"
app:layout_constraintTop_toBottomOf="@+id/textView4"
android:layout_marginLeft="24dp"
app:layout_constraintLeft_toLeftOf="parent"
android:textAppearance="@style/Body"
android:autoLink="email"
android:layout_marginRight="16dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.0" />
<TextView
android:id="@+id/textView10"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Human Resources: \nhr@opsconsulting.com"
android:textAppearance="@style/Body"
android:layout_marginTop="18dp"
app:layout_constraintTop_toBottomOf="@+id/textView7"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="@+id/textView7"
android:layout_marginRight="16dp"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/textView11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Recruiting: \nrecruiting@opsconsulting.com"
android:layout_marginTop="18dp"
app:layout_constraintTop_toBottomOf="@+id/textView10"
android:textAppearance="@style/Body"
android:autoLink="email"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="@+id/textView10"
android:layout_marginRight="16dp"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/textView12"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Legal and Contacts: \nlegal@opsconsulting.com"
android:layout_marginTop="18dp"
app:layout_constraintTop_toBottomOf="@+id/textView11"
android:textAppearance="@style/Body"
android:autoLink="email"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="@+id/textView11"
android:layout_marginRight="16dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.0" />
<TextView
android:id="@+id/websitegoto"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="www.opsconsulting.com"
android:autoLink="web"
android:layout_marginTop="10dp"
app:layout_constraintTop_toBottomOf="@+id/imageView6"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toTopOf="@+id/textView4"
app:layout_constraintVertical_bias="0.0"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="@+id/imageView6"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="@+id/imageView6"
android:textAppearance="@style/Body" />
除第二封电子邮件 (hr@opsconsulting.com) 外,所有这些都被识别为电子邮件。我做了一些研究,在查看 linkify class、android 时指出 "Bit field indicating that email addresses should be matched in methods that take an options mask; Constant Value: 2 (0x00000002)."
我是编程新手,我不明白这是什么意思,但我猜这与我的问题有关。
结论:"hr@opsconsulting.com" 不会被识别为电子邮件,因为 @ 符号前只有两个字符,我如何让所说的电子邮件被识别为电子邮件并直接发送到 gmail 应用程序。
谢谢!
有人回答了这个问题,但在我尝试的时候把它删除了,结果成功了!
这是建议的解决方案:
TextView feedback = (TextView) findViewById(R.id.textView);
feedback.setText(Html.fromHtml("<a href=\"mailto:ex@example.com\">Wanted Text</a>"));
feedback.setMovementMethod(LinkMovementMethod.getInstance());
其中textView
是你想要显示的textView的id link,ex@example.com
是你想要的邮件收件人,Wanted Text
是你想要显示的文字给用户。
感谢给我这个解决方案的人!
这个Html.fromHtml("<a href=\"mailto:ex@example.com\">Wanted Text</a>")
没有用。不确定这是否是正确的写法:<a href=\"mailto:ex@example.com\">Wanted Text</a>
我有一段代码可以识别电子邮件,但没有。我认为这是因为电子邮件地址的 'beginning' 部分(@ 符号之前的部分)只有两个字符。有谁知道如何解决这一问题?我尝试使用 android:autoLink="all"
但这也不起作用。
这是我的电子邮件代码:
<TextView
android:id="@+id/textView7"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="General Inquiries: \ncontact@opsconsulting.com"
android:layout_marginTop="18dp"
app:layout_constraintTop_toBottomOf="@+id/textView4"
android:layout_marginLeft="24dp"
app:layout_constraintLeft_toLeftOf="parent"
android:textAppearance="@style/Body"
android:autoLink="email"
android:layout_marginRight="16dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.0" />
<TextView
android:id="@+id/textView10"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Human Resources: \nhr@opsconsulting.com"
android:textAppearance="@style/Body"
android:layout_marginTop="18dp"
app:layout_constraintTop_toBottomOf="@+id/textView7"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="@+id/textView7"
android:layout_marginRight="16dp"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/textView11"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Recruiting: \nrecruiting@opsconsulting.com"
android:layout_marginTop="18dp"
app:layout_constraintTop_toBottomOf="@+id/textView10"
android:textAppearance="@style/Body"
android:autoLink="email"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="@+id/textView10"
android:layout_marginRight="16dp"
app:layout_constraintRight_toRightOf="parent" />
<TextView
android:id="@+id/textView12"
android:layout_width="0dp"
android:layout_height="wrap_content"
android:text="Legal and Contacts: \nlegal@opsconsulting.com"
android:layout_marginTop="18dp"
app:layout_constraintTop_toBottomOf="@+id/textView11"
android:textAppearance="@style/Body"
android:autoLink="email"
android:layout_marginLeft="0dp"
app:layout_constraintLeft_toLeftOf="@+id/textView11"
android:layout_marginRight="16dp"
app:layout_constraintRight_toRightOf="parent"
app:layout_constraintHorizontal_bias="0.0" />
<TextView
android:id="@+id/websitegoto"
android:layout_width="wrap_content"
android:layout_height="0dp"
android:text="www.opsconsulting.com"
android:autoLink="web"
android:layout_marginTop="10dp"
app:layout_constraintTop_toBottomOf="@+id/imageView6"
android:layout_marginBottom="16dp"
app:layout_constraintBottom_toTopOf="@+id/textView4"
app:layout_constraintVertical_bias="0.0"
android:layout_marginLeft="8dp"
app:layout_constraintLeft_toLeftOf="@+id/imageView6"
android:layout_marginRight="8dp"
app:layout_constraintRight_toRightOf="@+id/imageView6"
android:textAppearance="@style/Body" />
除第二封电子邮件 (hr@opsconsulting.com) 外,所有这些都被识别为电子邮件。我做了一些研究,在查看 linkify class、android 时指出 "Bit field indicating that email addresses should be matched in methods that take an options mask; Constant Value: 2 (0x00000002)."
我是编程新手,我不明白这是什么意思,但我猜这与我的问题有关。
结论:"hr@opsconsulting.com" 不会被识别为电子邮件,因为 @ 符号前只有两个字符,我如何让所说的电子邮件被识别为电子邮件并直接发送到 gmail 应用程序。
谢谢!
有人回答了这个问题,但在我尝试的时候把它删除了,结果成功了!
这是建议的解决方案:
TextView feedback = (TextView) findViewById(R.id.textView);
feedback.setText(Html.fromHtml("<a href=\"mailto:ex@example.com\">Wanted Text</a>"));
feedback.setMovementMethod(LinkMovementMethod.getInstance());
其中textView
是你想要显示的textView的id link,ex@example.com
是你想要的邮件收件人,Wanted Text
是你想要显示的文字给用户。
感谢给我这个解决方案的人!
这个Html.fromHtml("<a href=\"mailto:ex@example.com\">Wanted Text</a>")
没有用。不确定这是否是正确的写法:<a href=\"mailto:ex@example.com\">Wanted Text</a>