es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Objetos de cadena con varios hipervínculos en Textview.

Tengo objetos de tipo String que contienen hipervínculos que intento hacer clicables en un Textview, aquí hay un ejemplo:

    String descrption = “Cardano es una plataforma descentralizada” +
            “que permitirá transferencias programables complejas de” +
            “valor de manera segura y escalable. Es uno de los primeros blockchains construidos en el lenguaje de programación Haskell altamente seguro. Cardano está desarrollando” +
            “una plataforma de contratos inteligentes <a href="\\\”https://www.coingecko.com/en?category_id=29\\\”">smart contract platform</a>” +
            “que busca ofrecer características más avanzadas que cualquier protocolo desarrollado anteriormente.” +
            “Es la primera plataforma blockchain que surgió de una filosofía científica y un enfoque impulsado por la investigación” +
            “El equipo de desarrollo está compuesto por un gran colectivo global de ingenieros e investigadores expertos.\\r\\n\\r\\n” +
            “El proyecto Cardano es diferente de otros proyectos blockchain, ya que aborda abiertamente la necesidad de supervisión regulatoria mientras mantiene” +
            “la privacidad y protecciones del consumidor a través de una innovadora arquitectura de software.”;

    TextView textView = findViewById(R.id.description_textview);
    Linkify.addLinks(textView, Linkify.WEB_URLS);

Pero así es como aparece:

La imagen no está disponible

¿Cómo puedo hacer que los hipervínculos se formateen correctamente?

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para mostrar correctamente los enlaces en el Textview, utiliza el método Html.fromHtml() para convertir el texto que contiene etiquetas HTML en texto con estilo que se pueda mostrar. Aquí tienes un ejemplo:

    String description = "Cardano es una plataforma descentralizada que permitirá transferencias de valor programables complejas de manera segura y escalable. Es una de las primeras blockchains construidas en el lenguaje de programación Haskell, altamente seguro. Cardano está desarrollando una <a href="\"https://www.coingecko.com/en?category_id=29\"">plataforma de contratos inteligentes</a> que busca ofrecer características más avanzadas que cualquier protocolo previamente desarrollado. Es la primera plataforma blockchain que evoluciona a partir de una filosofía científica y un enfoque impulsado por la investigación. El equipo de desarrollo está formado por una gran colectividad global de ingenieros y expertos investigadores.\n\nEl proyecto Cardano es diferente de otros proyectos blockchain porque aborda abiertamente la necesidad de supervisión regulatoria mientras mantiene la privacidad y protección del consumidor a través de una arquitectura de software innovadora.";
    
    TextView textView = findViewById(R.id.description_textview);
    textView.setText(Html.fromHtml(description));
    textView.setMovementMethod(LinkMovementMethod.getInstance());
    

    Aquí, el método fromHtml() toma una cadena como parámetro y devuelve un objeto Spanned que contiene el texto formateado con enlaces que se pueden hacer clic. Luego se llama al método setMovementMethod() para permitir hacer clic en los enlaces en el TextView.

Comments are closed.