Cadena de referencia de Android en string.xml

¿Es posible hacer referencia a una cadena en strings.xml?

P.ej:

<string name="application_name">@string/first_name Browser</string> <string name="first_name">Chrome</string> 

Cuando dependiendo de los requisitos, puedo cambiar el valor de first_name a "Chrome", "Firefox" u "Opera".

2 Solutions collect form web for “Cadena de referencia de Android en string.xml”

Puede dar la referencia del recurso de cadena, pero la limitación es la siguiente

 <string name="first_name">Chrome</string> <string name="application_name">@string/first_name</string> // gives "Chrome" <string name="application_name">Chrome @string/first_name</string> // gives "Chrome @string/first_name" <string name="application_name">@string/first_name Chrome </string> // gives error 

Si el contenido comienza con "@", entonces Android considera que se trata de una cadena de referencia, ver el último caso que da un error porque las herramientas de Android toman @ y la siguiente cadena como el nombre de referencia de la cadena, tratará de encontrar un recurso llamado " String / first_name Chrome "que no existe.

Puede utilizar Formato de cadena para asignar dinámicamente sub-cadenas como <string name="application_name">%1$s browser</string>

usar

 String text = String.format(res.getString(R.string.application_name), "Chrome"); 

Las cadenas en strings.xml son fijas y no se pueden cambiar en tiempo de ejecución. Tendrás que definir una cadena para cada caso, y hacer el cambio en el código.

 String name; if (/* browser is Chrome*/) { name = getString(R.string.first_name_chrome); } else if (/* browser is Firefox */) { name = getString(R.string.first_name_firefox); } 

Sin embargo, puede hacer que la aplicación seleccione la cadena correcta para diferentes idiomas automáticamente. Esto puede hacerse colocando archivos de cadena en carpetas localizadas (valores-en, valores-fr, valores-pl etc.).

Puede leer más acerca de la localización en http://www.icanlocalize.com/site/tutorials/android-application-localization-tutorial/

  • Android: ¿Es posible hacer una copia de una vista?
  • Uso de texto de Android como etiqueta y valor
  • diseño con botones en un círculo?
  • Cree los botones de android mediante programación utilizando la disposición XML como plantilla
  • ¿Cuál es la manera más clara de nombrar recursos en Android?
  • Añadir espacio al final del RecyclerView
  • ¿El diseño se invierte?
  • Añadir dinámicamente formas Opengl
  • Margen de botón personalizado de Android
  • Mejores prácticas al pedir a los equipos gráficos que diseñen la interfaz de usuario de la aplicación de Android
  • ListView in Scroll Ver mi vista de desplazamiento se mueve a la parte superior de listview. ¿Cómo puedo evitar esto?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.