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

  • Android - ¿por qué me está diciendo "Vista de contenido aún no creada"?
  • ¿Códigos de error de Android MediaPlayer?
  • ¿Cómo cargar una imagen de los activos?
  • Coreógrafo NullPointerException
  • DrawerLayout con Google Maps
  • XmlPullParser - Analizar etiqueta analizada
  • Y no todo el enlace (sólo la etiqueta) ¿Cómo puedo hacer que los enlaces se puede hacer clic?

  • Cambiar el tamaño de la imagen del archivo
  • RxJava- validación de formulario RxAndroid en dynamic EditText
  • AndroidStudio Gradle: cómo configurar buildTypes, y comprobar que buildType al construir?
  • GC_FOR_ALLOC es más "serio" al investigar el uso de la memoria?
  • Centrar verticalmente una vista en Android
  • "RuntimeException: tipo de letra nativo no se puede hacer" al cargar la fuente
  • 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.