如何在用户点击textview中的链接时赶上异常?

时间:2012-07-28 07:03:10

标签: android

使用TextView显示电子邮件,然后设置


TextView tvEmail = (TextView)this.findViewById(R.id.tvEmail);
Linkify.addLinks(tvEmail, Linkify.EMAIL_ADDRESSES);
点击上面的邮件地址会引发异常,因为邮件客户端没有找到。如何赶上这个例外?

1 个答案:

答案 0 :(得分:2)

我已经遇到了同样的问题,我通过在实际启动null之前创建一个检查Intent的新类来解决它。

您需要做的就是在设置URLSpan的文字之前替换所有TextView范围(这意味着您无法使用setAutoLinkMask())。

必须这样做,因为URLSpan的{​​{1}}方法不会执行任何类型的onClick()检查。

如何成为先例:

null

可以在TextView txt = ... txt.setLinksClickable(true); txt.setText(SafeURLSpan.parseSafeHtml(<<YOUR STRING GOES HERE>>)); txt.setMovementMethod(LinkMovementMethod.getInstance()); 中使用的各种字符串:

<<YOUR STRING GOES HERE>>

以下是"Click here: <a href=\"http://google.com\">My links</a>" "Mail me: <a href=\"mailto:john@doe.com\">My email</a>" ... and so on... 课程的来源(我在我的应用FPlay中使用它,并且已在Android 10 +上测试过):

SafeURLSPan