Android 如何将文本视图中的文本或部分显示为可单击链接
关于如何在Android 如何将文本视图中的文本或部分显示为可单击链接,android,textview,linkify,Android,Textview,Linkify,关于如何在文本视图中启用链接,有很多答案,但我找不到任何关于如何使文本视图中的[部分]文本看起来像是带有自定义操作的链接的答案。换句话说,我想伪造一个链接,因为这个动作不够重要,无法得到一个按钮。我不想让它看起来像页面上的主要动作 例如,在我的“关于”对话框中,我希望显示文本“开源许可证”,使其看起来像一个链接,但启动我的OpenSourceLicensesActivity,而不是实际的URL 我最终从那些遇到上述问题的人的帖子中得到了答案,因此我在这里提供了这个具体问题的答案。下面的方法将使文
文本视图
中启用链接,有很多答案,但我找不到任何关于如何使文本视图
中的[部分]文本看起来像是带有自定义操作的链接的答案。换句话说,我想伪造一个链接,因为这个动作不够重要,无法得到一个按钮。我不想让它看起来像页面上的主要动作
例如,在我的“关于”对话框中,我希望显示文本“开源许可证”,使其看起来像一个链接,但启动我的OpenSourceLicensesActivity
,而不是实际的URL
我最终从那些遇到上述问题的人的帖子中得到了答案,因此我在这里提供了这个具体问题的答案。下面的方法将使文本从
开始
到结束
的部分可点击
public static void makeClickableLink (@NonNull final TextView textView,
@NonNull final CharSequence text,
final int start,
final int end,
@NonNull final ClickableSpan onClick) {
final SpannableString span = new SpannableString (text);
span.setSpan (onClick, start, end, 0);
textView.setText (span);
textView.setMovementMethod (LinkMovementMethod.getInstance ());
}
提供的ClickableSpan
允许您按如下方式处理单击事件:
final TextView tv = (TextView)findViewById (android.R.id.text1);
final ClickableSpan link = new ClickableSpan () {
@Override public void onClick (final View widget) {
context.startActivity (new Intent (context, OpenSourceLicensesActivity.class));
}
};
makeClickableLink (tv, "Click here for OSS Licenses", 5, 9, link);
上面的内容应该可以让
点击这里
启动您的活动。只是一个没有解释的否决票?谢谢你的贡献。