Android: ¿es posible agregar un enlace que se puede hacer clic en un recurso de cadena

Por lo general, configurar algún tipo de AlertDialog para disparar cuando un usuario utiliza por primera vez una de mis aplicaciones y explicar cómo utilizar la aplicación y dar una introducción general a lo que acaba de descargar. También suelo cargar las cadenas de un archivo strings.xml .

Lo que quiero hacer es hacer que una de las palabras en mi recurso de cadena haga clic como un hipervínculo en una página web. Básicamente usted tendría un AlertDialog y dentro del recurso de la secuencia habría una palabra resaltada o posiblemente apenas una dirección del Web que podrían presionar. Supongo que sólo podría agregar un botón que los llevaría al sitio, pero sólo quería saber si hacer una palabra en su recurso de cadena de un hipervínculo haga clic es posible.

Sólo usa un enlace de formato HTML en tu recurso:

<string name="my_link"><a href="http://somesite.com/">Click me!</a></string>

A continuación, puede utilizar setMovementMethod(LinkMovementMethod.getInstance()) en su TextView para hacer que el enlace haga clic.

También existe el TextView android:autoLink que también debería funcionar.

Android no hace que las cadenas que contengan vínculo válido se puedan hacer clic de forma automática. Lo que puede hacer, es agregar vista personalizada a su diálogo y utilizar WebView para mostrar el mensaje de alerta. En ese caso, puede almacenar html en sus recursos y se puede hacer clic.

 View alertDialogView = LayoutInflater.inflate(R.layout.alert_dialog_layout, null); WebView myWebView = (WebView) alertDialogView.findViewById(R.id.dialogWebView); myWebView.loadData("<a href=\"http://google.com\">Google!</a>", "text/html", "utf-8"); AlertDialog.Builder builder = new AlertDialog.Builder(MyActivity.this); builder.setView(alertDialogView); 

Alert_dialog_layout.xml

 <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="fill_parent" android:layout_height="wrap_content" android:orientation="vertical"> <WebView android:id="@+id/dialogWebView" android:layout_height="wrap_content" android:layout_width="wrap_content" /> 

Encontré algo interesante. Hazme saber si alguno de vosotros ha observado esto.

Debajo del hipervínculo no funciona si usa

 android:autoLink="web" 

Pero trabaja con

 TextView link = (TextView) findViewById(R.id.link); link.setMovementMethod(LinkMovementMethod.getInstance()); <string name="my_link"><a href="http://stackoverflow.com/questions/9204303/android-is-it-possible-to-add-a-clickable-link-into-a-string-resource">Click me!</a></string> 

Pero si utiliza el siguiente enlace funciona con ambos

 android:autoLink="web" (or) TextView link = (TextView) findViewById(R.id.link); link.setMovementMethod(LinkMovementMethod.getInstance()); <string name="my_link"><a href="http://stackoverflow.com/questions/9204303/android-is-it-possible-to-add-a-clickable-link-into-a-string-resource">http://stackoverflow.com/questions/9204303/android-is-it-possible-to-add-a-clickable-link-into-a-string-resource</a></string> 
  • ¿Cómo hacer el borde inferior en formato XML seleccionable selector?
  • Rellenar popupmenu sin archivo XML en android
  • Error al inflar XML en el fragmento Google maps
  • ¿Es la mejor práctica para crear un botón como este en una aplicación de Android?
  • Android: Ripple de fondo mediante programación
  • Análisis de archivos XML grandes utilizando el analizador SAX (salte algunas líneas / etiquetas)
  • ¿Podemos usar VectorDrawable o VectorXML como iconos para notificaciones push en android?
  • El valor SharedPreferences no se actualiza
  • Configurar la altura y el ancho del diálogo personalizado
  • Flechas personalizadas sin imagen: Android
  • ¿Volver a calcular ScrollView en diferentes vistas de ViewFlipper?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.