为建立中文知识库加块砖      ——中科大胡不归

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());//开始响应点击事件

两种方式无所谓好坏,适用于不同场景,所谓“尺有所短,寸有所长”。

参考:

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐