ClickableSpan
is what you want:
for (int i = 0; i < selectedItems.size(); i++) {
String na = selectedItems.get(i);
TextView tv = createContactTextView(na);
BitmapDrawable bd = (BitmapDrawable) convertViewToDrawable(tv);
bd.setBounds(0, 0, bd.getIntrinsicWidth(),bd.getIntrinsicHeight());
sb.append(na + ",");
sb.setSpan(new ImageSpan(bd), sb.length()
- (na.length() + 1), sb.length() - 1,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
final int index = i;
sb.setSpan(new ClickableSpan() {
@Override
public void onClick(View widget) {
// here add your code
// delete your selectedItems[index]
// recreate your SpannedString and set to txt
}
}, sb.length()
- (na.length() + 1), sb.length() - 1,
Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
}
txt.setText(sb);
txt.setMovementMethod(LinkMovementMethod.getInstance()); // important
Do not forget the last line