Android textview span
一、需求背景
一个简单的字符串”This is a link and this is another link”。想有两个“链接”字点击,有不同的网址打开浏览器。
二、实现
String str="Cat link 1 Cat link 2 Cat link 3";
SpannableString spannableString = new SpannableString(str);
String first ="Cat link 1";
String second ="Cat link 2";
String third ="Cat link 3";
int firstIndex = str.toString().indexOf(first);
int secondIndex = str.toString().indexOf(second);
ClickableSpan firstWordClick = new ClickableSpan() {
@Override
public void onClick(View widget) {
///............
}
};
ClickableSpan secondWordClick = new ClickableSpan() {
@Override
public void onClick(View widget) {
///............
}
};
ss.setSpan(firstWordClick,firstIndex, firstIndex+first.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
ss.setSpan(secondWordClick,secondIndex, secondIndex+second.length(), Spanned.SPAN_EXCLUSIVE_EXCLUSIVE);
textView.setLinksClickable(true);
textView.setMovementMethod(LinkMovementMethod.getInstance());
textView.setText(spannableString, BufferType.SPANNABLE);
还没有评论,来说两句吧...