有的时候,我们写的TextView需要TextView当中那个的文字部分能够点击,而不需要点击整个TextView控件才触发事件,只是点击TextView当中的部分文字,这种效果如何做到呢?不理解这种效果的朋友,可以想象一下,当微信上有好友将你删除,但当你发消息给他/她的时候,微信系统会返回一条提示消息,需要你发送好友验证,而这条提示消息不是整个控件可以点击,而是“发送好友验证”这几个字才可以点击并触发事件,相信这么解释,朋友们就应该知道是什么效果了。废话不多说,直接上代码:
TextView testTextView=findViewById(R.id.id_testTv);
testTextView(”这部分内容不可点击“);
String clickableLink="这部分可以点击";
SpannableString spannableString=new SpannableString(clickableLink);
spannableString.setSpan(new ClickableSpan(){
public void onClick(View view){
//处理点击事件
}
},0,clickableLink.length(),Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
testTextView.append(spannableString);
//必须要加的一句
testTextView.setMovementMethod(LinkMovementMethod.getInstance());
以上代码就可以解决TextView部分文字点击的效果啦,如果被点击的内容需要有默认颜色,可以TextViewandroid:textColorLink的属性设置