如果可以点击的文字位置是固定不变的,可以在String.xml中配置(如:“可以点击的”给“点击”设置点击事件)。
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_first);
TextView textView = (TextView) findViewById(R.id.text1);
SpannableStringBuilder spannable = new SpannableStringBuilder("可以点击的");
//设置文字的前景色,2、4分别表示可以点击文字的起始和结束位置。
spannable.setSpan(new ForegroundColorSpan(Color.RED),2,4,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
//这个一定要记得设置,不然点击不生效
textView.setMovementMethod(LinkMovementMethod.getInstance());
spannable.setSpan(new TextClick(),2,4 ,Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setText(spannable);
}
private class TextClick extends ClickableSpan{
@Override
public void onClick(View widget) {
//在此处理点击事件
Log.e("------->", "点击了");
}
@Override
public void updateDrawState(TextPaint ds) {
ds.setColor(ds.linkColor); //文字的颜色 ds.setUnderlineText(true); //是否设置下划线,true表示设置。 } } }