Lien actif Android de l’URL dans TextView

J’obtiens du texte dynamic depuis un service Web et je montre la même chose dans un TextView. Parfois, TextView a une URL comme hello . J’ai défini le texte en utilisant le code suivant.

 textView.setText(Html.fromHtml(sampletext)); 

Et aussi définir android:autoLink="web" dans le xml correspondant de celui qui contient le TextView . Maintenant, le lien apparaît correctement avec la couleur bleue et souligné, mais j’ai trouvé le juste un lien mort. Rien ne se passe si nous essayons de cliquer dessus. Que dois-je faire pour rendre le lien actif?

Après avoir revisité toutes les solutions, un résumé avec quelques explications:

 android:autoLink="web" 

va trouver une URL et créer un lien même si Android: linksClickable n’est pas défini, les liens sont par défaut cliquables. Vous n’avez pas à conserver l’URL seule, même au milieu d’un texte, elle sera détectée et cliquable.

   

Pour définir un lien via le code, même principe, pas besoin de pattern ou d’android: autoLink dans la mise en page, le lien se trouve automatiquement en utilisant Linkify:

  final TextView myClickableUrl = (TextView) findViewById(R.id.myClickableUrlTextView); myClickableUrl.setText("Click my web site: www.stackoverflow.com"); Linkify.addLinks(myClickableUrl, Linkify.WEB_URLS); 

Cela fonctionne pour moi:

   

Pour sauver une fois la vraie solution est

    

et je l’utilise et ça marche parfait

Découvrez cette approche:

 Ssortingng text = "Visit stackoverflow.com"; TextView label = new TextView(this); label.setText(text); Pattern pattern = Pattern.comstack("stackoverflow.com"); Linkify.addLinks(label, pattern, "http://"); 

J’ai donné une idée de ce que j’ai trouvé

 TextView tv = ( TextView ) findViewById( R.id.link ); WebView wv = ( WebView ) findViewById( R.id.webView ); URLSpan[] urlSpans = tv.getUrls(); for ( URLSpan urlSpan : urlSpans ) { wv.loadUrl( urlSpan.getURL() ); } 

ssortingng.xml

   Hello, Android 'Google'  

main.xml

      

Il y a 2 cas:

  • le texte ressemble à "click on http://www.hello.com"

il suffit ensuite de définir l’atsortingbut autoLink dans le fichier XML afin que le lien soit automatiquement détecté dans le texte:

  
  • le texte ressemble à click on hello

alors vous devez le faire par code et dire au texte html, et spécifier une méthode de mouvement de lien pour le clic:

  Ssortingng text = "click on hello"; TextView textView = view.findViewById(R.id.textView); textView.setText(Html.fromHtml(text)); textView.setMovementMethod(LinkMovementMethod.getInstance()); 

Dans votre XML, vous devez append android:linksClickable="true" dans TextView.