为建立中文知识库加块砖 ——中科大胡不归
1. 问题描述
如何在TextView中设置部分文字可点击?
可点击文本示例
2. 解决方法
方法一 直接处理字串,将字串中需要点击的字段找出来做“特别”处理
spanString = new SpannableString("这是一条测试文本可点击文本");
spanString.setSpan(new Clickable(listener), 8, 12, Spanned.SPAN_MARK_MARK);
textView.setText(spanString);
textView.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件
方法二 通过拼接的方式,将普通字串和已经处理好的点击字串做相应的拼接操作
spanString = new SpannableString("可点击文本"));
spanString.setSpan(new ClickableSpan() {
@Override
public void onClick(View view) {
//点击的响应事件
}
}, 0, spanString.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText("这是一条测试文本");
textView.append(spanString);
textView.setMovementMethod(LinkMovementMethod.getInstance());//开始响应点击事件
两种方式无所谓好坏,适用于不同场景,所谓“尺有所短,寸有所长”。
参考: