2010-05-03 2 views
8

È possibile fare riferimento a una stringa in stringhe.xml all'interno di un'altra stringa che contiene altro testo?È possibile fare riferimento a un'altra stringa in strings.xml?

Qualcosa che è consentito in XML e potrebbe ottenere questo effetto:

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

risposta

8

Non credo che sia possibile. Quello che faccio di solito è il seguente:

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

e nel codice Java:

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

faccio questo genere di cose per msg parametrizzare come: "Hai% d nuovi messaggi".

+0

Giusto, ma che non funziona, per esempio per le stringhe in uso nel layout File XML, per esempio. – ChaimKut

+0

@ChaimKut: ad esempio? – Macarse

+0

Non è possibile farlo staticamente? F.e. se si desidera avere 2 stringhe con nomi diversi ma sempre uguali, è possibile collegare il secondo al primo in modo da modificarne solo uno. Ciò sarebbe possibile con un collegamento statico tra entrambi. Quindi non è possibile? –

10

È possibile creare entità XML per le stringhe che si desidera utilizzare in altre corde, e li usa in questo modo:

<?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

Lavoro per me, THX – xiaoyee