关于如何在TextView
中启用链接,有很多答案,但我找不到任何有关如何制作[部分]文字的内容TextView
看起来像是一个自定义操作的链接。换句话说,我想伪造一个链接,因为该动作不足以获得一个按钮。我不希望它看起来像页面上的主要操作。
例如,在我的about对话框中,我想显示文本"开源许可证",让它看起来像一个链接,但启动我的OpenSourceLicensesActivity
而不是实际的URL。
我最终从那些遇到上述问题的人那里得到了答案,所以我在这里提供了对这个具体问题的答案。
答案 0 :(得分:0)
以下方法会使start
到end
的部分文字可以点击。
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);
上述内容应该here
可点击,启动您的活动。