studio open links link hipervinculo hacer como android url hyperlink textview android-textview

open - Hacer una vista de texto de hipervínculo en Android



open url textview android (6)

Quiero hacer un enlace para un texto textview como Google . ¿Hay alguna forma de hacer un enlace como este? (es decir) Al hacer clic en la palabra Google, debería abrir el enlace apropiado. Cualquier idea es bienvenida.


Esto también se puede hacer utilizando la propiedad predeterminada de Textview

android:autoLink="email"


Para la versión más reciente de SDK fromHtml está en desuso Use la línea siguiente

String yourtext = "<a style=''text-decoration:underline'' href=''http://www.sample.com''> Sample Website </a>"; if (Build.VERSION.SDK_INT >= 24) { textView.setText(Html.fromHtml(yourtext, Html.FROM_HTML_MODE_LEGACY)); } else { textView.setText(Html.fromHtml(yourtext)); }


Prueba esto y avísame qué pasa ...

TextView textView =(TextView)findViewById(R.id.textView); textView.setClickable(true); textView.setMovementMethod(LinkMovementMethod.getInstance()); String text = "<a href=''http://www.google.com''> Google </a>"; textView.setText(Html.fromHtml(text));


Todo probado y funcionando al 100%
Solución: android:autoLink="web"
a continuación es un ejemplo completo

Diseño de muestra Xml

<TextView android:id="@+id/txtLostpassword" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:autoLink="email" android:gravity="center" android:padding="20px" android:text="@string/lostpassword" android:textAppearance="?android:attr/textAppearanceSmall" /> <TextView android:id="@+id/txtLostpassword" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_gravity="center" android:autoLink="web" android:gravity="center" android:padding="20px" android:text="@string/defaultpassword" android:textAppearance="?android:attr/textAppearanceSmall" />

Cadena en string.xml

<string name="lostpassword">If you lost your password please contact <a href="mailto:[email protected]?Subject=Lost%20Password" target="_top">[email protected]</a></string> <string name="defaultpassword">User Guide <a href="http://www.cleverfinger.com.au/user-guide/">http://www.cleverfinger.com.au/user-guide/</a></string>


use android:autoLink="web" en el archivo XML de su TextView. Debe convertir automáticamente las URL que se pueden hacer clic (si se encuentran en el texto)


Nota: - Html.fromHtml está en desuso en Android N

Debes verificar y admitir Android N y versiones superiores de Android

//Set clickable true tagHeading.setClickable(true); //Handlle click event tagHeading.setMovementMethod(LinkMovementMethod.getInstance()); if (android.os.Build.VERSION.SDK_INT >= android.os.Build.VERSION_CODES.N) { tagHeading.setText(Html.fromHtml("<a href=''https://github.com/hiteshsahu''>https://github.com/hiteshsahu</a>", Html.FROM_HTML_MODE_LEGACY)); } else { tagHeading.setText(Html.fromHtml("<a href=''https://github.com/hiteshsahu''>https://github.com/hiteshsahu</a>")); }

Alternativamente

Usted no puede querer identificar mediante programación la marca autoLink en TextView.

android: autoLink = "web"

android: linksClickable = "true"

De esta forma, no necesita agregar etiquetas <a href=''somelink''> .

Lo cual es una desventaja, si desea agregar un hyperlink a un text no puede hacerlo de esta manera. por ejemplo, no puedes hacer algo como esto: - [ hiteshsahu ] [1]

<TextView android:id="@+id/tag_info" android:layout_width="wrap_content" android:layout_height="wrap_content" android:layout_below="@+id/tag_ll" android:layout_gravity="left" android:layout_margin="10dp" android:autoLink="web" android:linksClickable="true" android:text="https://github.com/hiteshsahu" android:textColor="@color/secondary_text" />

El resultado de ambos enfoques: -

https://github.com/hiteshsahu