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.
- Cómo crear una tabla en Android con varias columnas?
- Las etiquetas HTML no funcionan dentro de strings.xml
- Iconos aplastados en la barra de herramientas después de cambiar a Android SDK 26
- cómo comprobar si una respuesta está en formato xml en lugar de HTML?
- Interruptor de Android - cambia el fondo del interruptor en encendido / apagado
- Animación de diseños utilizando el atributo "animateLayoutChanges" en XML
- XmlPullParser: obtener texto interno incluyendo etiquetas XML
- Cómo rellenar una vista de cuadrícula en XML
- Las clases siguientes no pudieron ser instanciadas: - android.support.v7.widget.Toolbar
- grupo de radio setOnCheckedChangeListener
- Google Analytics con Android: ¿Configurar programaticamente ga_reportUncaughtExceptions?
- Múltiples animaciones en 1 imageview android
- Alinear el botón a la parte inferior de la pantalla
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>