Clickable SpannableString in android -
i have bellow code:
spannablestring ss = new spannablestring("translators"); clickablespan myclickablespan = new clickablespan() { @override public void onclick(view v) { // something; } }; ss.setspan(myclickablespan, 0, ss.length(), spanned.span_exclusive_exclusive);
but when add spannablestring string unclickable , not underline
string thanks="also "+ss;
any ideas?
this line problem:
string thanks="also "+ss;
the right-hand side of +
expression spannable string, left hand side regular string (with no spanning support). +
operator on strings causes java compiler put .tostring()
after ss
variable (in null-safe way), , converting spannable string normal string discards spans.
to fix it, rid of string concatenation. use spannablestringbuilder
in place of spannablestring
, , use insert(...)
method put "also the"
in there without losing spans.
there's simpler way though, question code came quite close:
spannablestring ss = new spannablestring("also translators"); clickablespan myclickablespan = new clickablespan() { /*...*/ }; int spanstart = 20; // length of "also " ss.setspan(myclickablespan, spanstart, ss.length(), spanned.span_exclusive_exclusive);
Comments
Post a Comment