Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Android: hipervínculo de texto

Sé que si usted pone un acoplamiento en un textview trabajará pero si quiero exhibir por ejemplo:

Google stackoverflow

Y no todo el enlace (sólo la etiqueta) ¿Cómo puedo hacer que los enlaces se puede hacer clic?

  • Cómo interceptar haga clic en el enlace en TextView?
  • ¿Cómo crear un TextView como enlace que abrirá otra actividad en mi aplicación?
  • Adición de un enlace web a un widget TextView
  • 8 Solutions collect form web for “Android: hipervínculo de texto”

    Podría tener dos TextViews independientes y podría alinearlos en consecuencia en su diseño si es necesario:

    Text1.setText( Html.fromHtml( "<a href=\"http://www.google.com\">google</a> ")); Text1.setMovementMethod(LinkMovementMethod.getInstance()); Text2.setText( Html.fromHtml( "<a href=\"http://www.stackoverflow.com\">stackoverflow</a> ")); Text2.setMovementMethod(LinkMovementMethod.getInstance()); 

    Entonces, si desea quitar el "subrayado de enlace". Crear una clase:

     public class URLSpanNoUnderline extends URLSpan { public URLSpanNoUnderline(String url) { super(url); } @Override public void updateDrawState(TextPaint ds) { super.updateDrawState(ds); ds.setUnderlineText(false); } } 

    A continuación, agregue este método en la clase de actividad principal donde tiene las TextViews

     private void stripUnderlines(TextView textView) { Spannable s = new SpannableString(textView.getText()); URLSpan[] spans = s.getSpans(0, s.length(), URLSpan.class); for (URLSpan span: spans) { int start = s.getSpanStart(span); int end = s.getSpanEnd(span); s.removeSpan(span); span = new URLSpanNoUnderline(span.getURL()); s.setSpan(span, start, end, 0); } textView.setText(s); } 

    Y luego simplemente llame a esto después de haber inicializado las TextViews (en su onCreate):

     stripUnderlines(Text1); stripUnderlines(Text2); 
     TextView t2 = (TextView) findViewById(R.id.textviewidname); t2.setMovementMethod(LinkMovementMethod.getInstance()); 

    y

     <string name="google_stackoverflow"><a href="https://stackoverflow.com/questions/9852184/android-textview-hyperlink?rq=1">google stack overflow</a></string> 

    El enlace es " Android: hipertexto de texto "

    Y la etiqueta es, "desbordamiento de pila de google"

    Defina el primer bloque de código en su java y el segundo bloque de código en su archivo strings.xml. Además, asegúrese de hacer referencia al id de textView desde su diseño de página en su java.

    Manera muy simple de hacer esto —

    En su Actividad–

      TextView tv = (TextView) findViewById(R.id.site); tv.setText(Html.fromHtml("<a href=http://www.stackoverflow.com> STACK OVERFLOW ")); tv.setMovementMethod(LinkMovementMethod.getInstance()); 

    Entonces usted conseguirá apenas la etiqueta, no el acoplamiento entero.

    Espero que te ayude…

    android:autoLink="web" simplemente funciona si tienes enlaces completos en tu HTML. Lo siguiente se resaltará en azul y se puede hacer clic:

    Esto debería funcionar.

     TextView t2 = (TextView) findViewById(R.id.text2); t2.setMovementMethod(LinkMovementMethod.getInstance()); and <TextView android:layout_width="wrap_content" android:layout_height="wrap_content" android:text="@string/txtCredits" android:id="@+id/text2" android:layout_centerInParent="true" android:layout_marginTop="20dp"></TextView> 

    Esta es mi implementación de trabajo

     private void showMessage() { lblMessage.setText(""); List<String> messages = db.getAllGCMMessages(); for (int k = messages.size() - 1; k >= 0; --k) { String message = messages.get(k).toString(); lblMessage.append(message + "\n\n"); } Linkify.addLinks(lblMessage, Linkify.ALL); } 

    Y para cambiar el color de los hipervínculos, i editted mi xml para textview –

      android:textColorLink="#69463d" 

    Me golpeó en el mismo problema y finalmente encontrar la solución de trabajo.

    1. En el archivo string.xml, defina:

       <string name="textWithHtml">The URL link is &lt;a href="http://www.google.com">Google&lt;/a></string> 

    Reemplace el carácter "<" menos que el carácter con el carácter de escape HTML.

    1. En código Java:

       String text = v.getContext().getString(R.string.textWithHtml); textView.setText(Html.fromHtml(text)); textView.setMovementMethod(LinkMovementMethod.getInstance()); 

    Y el TextBox mostrará correctamente el texto con el enlace de anclaje que se puede hacer clic

    Echa un vistazo a este post.

     TextView link = (TextView) findViewById(R.id.hyper); String linkText = "This is my website <a> href="http://programondaspot.blogspot.com">Programondaspot</a> ."; link.setText(Html.fromHtml(linkText)); link.setMovementMethod(LinkMovementMethod.getInstance()); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.