Ho una vista testuale che ho bisogno di collegare. Ecco quello che sto facendo ..Android: Linkify TextView
TextView text = (TextView) view.findViewById(R.id.name);
text.setText("Android...Update from Android");
Pattern pattern = Pattern.compile("Android");
String scheme = "www.android.com";
Linkify.addLinks(text, pattern, scheme);
Il testo appena catturata viene visualizzata correttamente con il testo "Android ... Aggiornamento da Android", ma sto affrontando due problemi.
1) La mia stringa di testo ha due istanze della stringa "Android". Quindi, entrambi i testi sono collegati. Voglio solo la prima occorrenza da collegare. Come dovrei farlo?
2) Quando faccio clic sul testo linkfy, si apre il browser, ma l'URL è strano. L'URL che tenta di aprire è "www.comandroid". Non so che cosa sta andando storto qui. Il testo "android" nell'URL è stato sostituito. Sto facendo qualcosa di sbagliato quando Linknifying il testo.
Qualsiasi aiuto sarà molto apprezzato.
Problema risolto. La soluzione al primo problema è la risposta fornita da Ian Leslie. La soluzione al secondo problema è la seguente. Il comportamento dell'API "Linkify.addLinks" è tale che aggiunge la stringa che si desidera collegare alla fine dell'URL. Per esempio, se si desidera collegare il testo "Android" con "www.android.com" .. l'URL finale è "www.android.comAndroid", che non è quello che mi serviva. Quindi ho usato il vuoto statico pubblico addLinks (testo TextView, Pattern p, Schema di stringhe, Linkify.MatchFilter matchFilter, Linkify.TransformFilter transformFilter) –
TransformFilter transformFilter = new TransformFilter() {transform stringUrl finale pubblico (match Matcher finale, URL stringa) { return ""; } }; l'api transformFilter restituisce una stringa nulla. Quindi il mio ultimo URL è "www.android.com –