¿Cómo concatenar cadenas múltiples en android XML?
Problema
Me gustaría poder hacer algo así en el código XML de Android:
<string name="title">@string/app_name test</string> <string name="title2">@string/app_name @string/version_name</string>
Respecto a la primera línea de compilador de código muestra este error
- Gradiente radial en XML con el tamaño del padre
- Android getMeasuredHeight devuelve valores erróneos!
- Android: ¿La lista de capas no funciona?
- No se encontró ningún identificador de recurso para el atributo 'id' y 'order in category' en el paquete 'android'
- Cómo implementar un ListView completamente dentro de un ScrollView
No se encontró ningún recurso que coincida con el nombre dado (en 'title' con el valor '@ string / app_name test')
Y con respecto a la segunda línea de compilador de código muestra este error
No se encontró ningún recurso que coincida con el nombre dado (en 'title2' con el valor '@ string / app_name @ string / version_name')
Pregunta
¿Alguien sabe cómo concatenar varias cadenas en Android XML?
Razón fundamental
Es mala práctica duplicar los valores de las variables en muchos lugares de código (en este caso XML).
- Android por qué este botón no se puede hacer clic
- ¿Qué es android: includeFontPadding?
- ¿Es posible girar un drawable en la descripción de xml?
- Relacionar URI con <data> como http://example.com/algo en AndroidManifest
- Cómo agregar un RelativeLayout como elemento de menú - Android
- Android: ¿Acabo de tener un disparo por propiedad mediante el uso de temas? ¿No hay nada como CSS en Android?
- Cambiar programaticamente el color de la forma en la lista de capas
- Android ImageView clasificado por peso no centrado en parent LinearLayout
He intentado hacer una maniobra similar, pero me dijeron que esto no es factible en Android.
Lo interesante es que usted recibe un mensaje de error que indica que es posible, pero debido a errores en la coincidencia de recursos no es posible ahora. (¿Está seguro de haber definido las cadenas "app_name" y "version_name" antes de las cadenas "title" y "title2"?)
Sin embargo, puede hacer algo como:
<string name="title">%1$s test</string> <string name="title2">%1$s %2$s</string> <string name="app_name">AppName</string> <string name="version_name">1.2</string>
Y luego desde el código Java hacer algo como:
Resources res = getResources(); String appName = res.getString(R.string.app_name); String versionName = res.getString(R.string.version_name); String title = res.getString(R.string.title, appName); String title2 = res.getString(R.string.title2, appName, versionName);
Más información sobre el formato de cadenas en Android .
Espero que esto ayude.
- Es la palabra obsoleta la única diferencia entre fill_parent y match_parent
- Importar Android volley a Android Studio