Tengo textview que necesito vincular. Esto es lo que estoy haciendo ..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);
El comunicado en el punto de vista se visualiza correctamente con el texto "... Android actualización de Android", pero yo estoy frente a dos problemas.
1) Mi cadena de texto tiene dos instancias de la cadena "Android". Entonces, ambos textos están vinculados. Solo quiero vincular la primera aparición. ¿Cómo debo hacerlo?
2) Cuando hago clic en el texto linkfy, abre el navegador, pero la URL es extraña. La URL que intenta abrir es "www.comandroid". No sé qué está yendo mal aquí. El texto "android" en la URL está siendo reemplazado. ¿Estoy haciendo algo mal cuando enlace el texto?
Cualquier ayuda será muy apreciada.
Problema resuelto. La solución al primer problema es la respuesta proporcionada por Ian Leslie. La solución al segundo problema es la siguiente. El comportamiento de la API "Linkify.addLinks" es tal que, agrega la cadena que desea vincular al final de la url. Por ejemplo ... si desea vincular el texto "Android" con "www.android.com" ... la URL final es "www.android.comAndroid", que no es lo que necesitaba. Así que utilicé public static the final void addLinks (TextView text, Pattern p, String scheme, Linkify.MatchFilter matchFilter, Linkify.TransformFilter transformFilter) –
TransformFilter transformFilter = new TransformFilter() {public final String transformUrl (coincidencia final de Matcher, url String) { return ""; } }; La api transformFilter devuelve una cadena nula. Así que mi url final es "www.android.com –