2010-05-03 15 views
8

¿Es posible hacer referencia a una cadena en strings.xml dentro de otra cadena que contiene otro texto?¿Es posible hacer referencia a otra cadena en strings.xml?

Algo que se permite en XML, y que lograr este efecto:

<string name="string_one">My string</string> 
<string name="string_two">Here it is: android:id="@string/string_one"</string> 

Respuesta

8

no creo que es posible. Lo que suelo hacer es la siguiente:

<string name="string_one">My string</string> 
<string name="string_two">Here it is: %s" </string> 

y en el código de Java:

String.format(getString(R.string.string_two), getString(R.string.string_one)); 

hago este tipo de cosas para parametrizar Mensajes como: "Tienes% d nuevos correos".

+0

derecho, pero eso no funciona, por ejemplo, para las cadenas que se utilizan en el diseño Archivos XML, por ejemplo. – ChaimKut

+0

@ChaimKut: por ejemplo? – Macarse

+0

¿No se puede hacer esto estáticamente? F.e. si quieres tener 2 cadenas con diferentes nombres pero siempre siendo lo mismo, puedes vincular el segundo con el primero para que solo tengas que cambiar uno. Eso sería posible con un enlace estático entre ambos. Entonces eso no es posible? –

10

Usted puede crear sus propias entidades XML para las cadenas que desea utilizar en otras cadenas, y utilizarlos como esto:

<?xml version="1.0" encoding="utf-8"?> 
<!DOCTYPE resources [ 
    <!ENTITY app_name "My App"> 
]> 
<resources> 
    <string name="app_name">&app_name;</string> 
    <string name="welcome_message">Welcome to &app_name;</string> 
</resources> 
+0

Trabaja para mí, THX – xiaoyee

Cuestiones relacionadas