2010-11-17 9 views
6

Ho alcune stringhe in un xml, ad esempioAggiungere più di una corda ad un TextView

<string name="String1">My String 1</string> 
<string name="String2">My string 2</string> 

e voglio mostrare nell'attività qualcosa come mio Stringa 1: La mia stringa di 2

E 'possibile aggiungere alla stessa TextView più di un

<TextView android:text="@string/String1"/> 
<TextView android:text=": "/> 
<TextView android:text="@string/String2"/> 

il problema di questo è che se li si inserisce all'interno di un TableLayout sono considerati un Le celle s e il simbolo ":" non sono scritte accanto a String1 (è scritto al centro di entrambe le stringhe).

È possibile unire la stringa in un solo TextView nel codice xml (senza farlo in modo programmatico in Java)? Voglio dire c'è qualche sintassi per aggiungere le stringhe di qualcosa come

<TextView android:text="@string/String1+:[email protected]/String2"/> 

Grazie

risposta

9

non puoi fare direttamente in XML, questo è la migliore che puoi fare:

<string name="welcome_messages">Hello, %1$s! You have %2$d new messages.</string> 


Resources res = getResources(); 
String text = String.format(res.getString(R.string.welcome_messages), username, mailCount); 
0

Vedere questo related question ho chiesto in precedenza.

Non è possibile fare nulla di elaborato con le stringhe in XML. Hai bisogno di farlo in Java.

1

Non sono al 100%, ma non penso che sia possibile avere più di un android: testo per TextView.

Se avete intenzione di avere tre TextViews, è necessario aggiungere qualcosa di simile a String2 (o qualsiasi altra cosa vista ha il ":":

android:layout_toRightOf="@id/string1" 
0

Guarda le API per TableRow:

android:layout_span - Defin es quante colonne dovrebbe occupare questo bambino.

Quindi penso che si potrebbe usare smth come:

<TableRow android:layout_span="3"> 
    <TextView android:id="@+id/your_entire_string" /> 
</TableRow> 

Poi, nel tuo Activity trovare il TextView da id e popolare con ("I miei String 1" + ":" + "My String 2").

Problemi correlati