2011-01-31 19 views
5

voglio analizzare un testo per alcuni link (URL e numeri di telefono) e ho provato il codicegetSpans android parametri

String message = "text text www.evz.ro test 1234567 test www.220.ro test Http://emm.ro"; 
SpannableString ss = new SpannableString(message); 
Linkify.addLinks(ss, Linkify.ALL); 
Object[] spans = ss.getSpans(0, ss.length() - 1, null) 

Cosa parametro dovrei usare al posto di null? Che tipo di classe? Ho solo bisogno di sapere da dove inizia il collegamento e dove finisce

risposta

11

trovato la soluzione. eccolo:

SpannableString spannableString = new SpannableString(str); 
Linkify.addLinks(spannableString, Linkify.ALL); 
URLSpan[] spans = spannableString.getSpans(0, spannableString.length() , URLSpan.class); 
+0

Si noti che si sta utilizzando string.length() qui, non string.length() - 1. Questo è solo un problema che stavo avendo, ma sembra contraddire la documentazione, che dice che il secondo parametro è un indice finale, non una lunghezza. Strano ... –

+0

Pensa come se quell'indice si riferisse allo spazio tra le lettere. Ad esempio: la stringa 'abc' ha 4 spazi (| a | b | c |). Gli spazi sono numerati da 0 a 3, quindi l'indice di quello finale corrisponde alla lunghezza spannableString (il valore 3 si riferisce al quarto elemento). –

Problemi correlati