Si dovrebbe essere in grado di farlo utilizzando ClickableSpan
. Fondamentalmente è necessario creare un SpannableStringBuilder
, aggiungere le parti di testo e impostare un ClickableSpan diverso per ciascuna parte di testo cliccabile.
SpannableStringBuilder sb = new SpannableStringBuilder();
String regularText = "This text is ";
String clickableText = "clickable";
sb.append(regularText);
sb.append(clickableText);
sb.setSpan(new ClickableSpan(), sb.length()-clickableText.length(), sb.length(), Spannable.SPAN_EXCLUSIVE_EXCLUSIVE);
TextView tv = ...
tv.setText(sb);
Questo è solo un esempio che illustra come impostare un singolo ClickableSpan. Ovviamente avrà più senso fare sopra in un ciclo e impostare un nuovo intervallo con ogni iterazione.
Tuttavia, dal momento che ClickableSpan è una classe astratta, prima è necessario estenderlo con la propria implementazione concreta. Più specificamente, il metodo onClick dovrà essere implementato per gestire gli eventi click.
Inoltre, non dimenticare di impostare un parametro MovementMethod su TextView, ad es. LinkMovementMethod: [? Come cliccare o toccare su un testo TextView su parole diverse]
tv.setMovementMethod(LinkMovementMethod.getInstance());
fonte
2012-04-02 19:29:42
possibile duplicato (http://stackoverflow.com/questions/9584136/how-to-click-or-tap-on -a-TextView-text-on-diversi-words) – ForceMagic