Home Menu

Menu



Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android


 
Herramientas
  #1  
Viejo 12/06/18, 09:38:50
Avatar de Juan82T
Juan82T Juan82T no está en línea
Miembro del foro
Mensajes: 71
 
Fecha de registro: may 2017
Mensajes: 71
Tu operador: Movistar
Mencionado: 1 comentarios
Tagged: 0 hilos
Links en medio del texto

Buenos días,

Estoy buscando información de como introducir un link de una web dentre un texto textview.

Ejemplo:
orem ipsum dolor sit amet, consectetur adipiscing elit. Aenean maximus rutrum purus ut varius.

Alguien sabe alguna opción rápida?
Responder Con Cita


  #2  
Viejo 12/06/18, 11:30:20
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Pues sí, en el strings.xml escribes el código HTML con su a href y demás, dentro de un <![CDATA[ ..... ]]> para no morir cambiando los símbolos que se confundirían con el XML.

P.ej.

[PHP]<string name="gdpr_terms" formatted="false"><![CDATA[Bla bla bla <a href="http://www.miweb.com/politica-privacidad.html">términos de uso y política de privacidad</a>]]></string>[/PHP]

Y luego en código hay que hacer un par de cosas para que el link funcione y sea clickable, concretamente obtener la String de los resources, convertir la string con Html.fromHtml y pasárselo al textView. Y, por último, habilitar la navegabilidad de enlaces con setMovementMethod.

[PHP]
TextView terms = (TextView) v.findViewById(R.id.gdpr_terms);
terms.setMovementMethod(LinkMovementMethod.getInst ance());
terms.setText(Html.fromHtml(stringDeResources));
[/PHP]

Esto es lo que hago yo, en SO hay una respuesta que contempla un par de comprobaciones para Android Nougat y ciertos dispositivos Samsung donde dice que igual se cuelga (no tengo constancia pero supongo que lo añadiré por si acaso...): https://stackoverflow.com/a/50010179/1407634

Última edición por mocelet Día 12/06/18 a las 11:50:47
Responder Con Cita
  #3  
Viejo 12/06/18, 11:48:37
Avatar de Juan82T
Juan82T Juan82T no está en línea
Miembro del foro
Mensajes: 71
 
Fecha de registro: may 2017
Mensajes: 71
Tu operador: Movistar
Mencionado: 1 comentarios
Tagged: 0 hilos
Buenas,

También he encontrado esta opción

[PHP]
<string name="linkp">lorem ipsum -<a href="https://google.es">ejemplo</a> - orem ipsum orem ipsum orem ipsum </string>
[/PHP]

[PHP]
TextView linkp = (TextView)findViewById(R.id.linkp);
linkp.setMovementMethod(LinkMovementMethod.getInst ance());
[/PHP]

También seria correcto no?

Mucas gracias por la respuesta
Responder Con Cita
  #4  
Viejo 12/06/18, 11:55:38
Avatar de mocelet
mocelet mocelet no está en línea
Desarrollador
Mensajes: 2,203
 
Fecha de registro: may 2011
Localización: Madrid
Mensajes: 2,203
Tu operador: -
Mencionado: 17 comentarios
Tagged: 2 hilos
Pues no sé si para el link únicamente te valdrá sin llamar al Html.fromHtml. Prueba a ver, desde luego si quieres poner etiquetas de formato, negritas, párrafos, etc. es necesario porque si no te muestra las etiquetas.
Responder Con Cita
  #5  
Viejo 12/06/18, 12:24:53
Avatar de Juan82T
Juan82T Juan82T no está en línea
Miembro del foro
Mensajes: 71
 
Fecha de registro: may 2017
Mensajes: 71
Tu operador: Movistar
Mencionado: 1 comentarios
Tagged: 0 hilos
Por ahora me funciona bien.

Ahora estoy pensando algún texto para el famoso aviso GDPR con un botón de aceptar, ya que la opción de admob es caída en picado de ingresos.
Responder Con Cita
Respuesta

Estás aquí
Regresar   HTCMania > Todo sobre Android > Programación y Desarrollo para Android


Reglas de Mensajes
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Las caritas están On
Código [IMG] está On
Código HTML está Off

Saltar a Foro



Hora actual: 19:25:26 (GMT +2)

Cookies
Powered by vBulletin™
Copyright © vBulletin Solutions, Inc. All rights reserved.
 
HTCMania: líderes desde el 2007