2012-08-05 19 views
7

Vorrei visualizzare una stringa con il nome della mia app e la sua versione corrente. Il nome dell'app è in ebraico, per alcuni quando combino testo ebraico con valore numerico, il valore numerico viene capovolto.Stringa RTL ebraica Android con valore numerico capovolto

versionTextView.setText("אפליקציה גרסה "+this.getResources().getString(R.string.app_version)); 

ad esempio: la versione dell'app è 1.0 e viene visualizzata come 0,1 sull'emulatore.

risposta

10

Sembra un bug nell'algoritmo bidi Android. Prova ad aggiungere segni lasciati a destra intorno ai numeri:

versionTextView.setText("אפליקציה גרסה " 
    + "\u200e" 
    + this.getResources().getString(R.string.app_version) 
    + "\u200e" 
); 

(. Se funziona, si può essere in grado di eliminare il secondo)

+0

Grazie, funziona ma '\ u00e' aggiunge uno strano carattere alla stringa – jkigel

+0

@jkigel - Suona come un problema di carattere in cima al bug dell'algoritmo bidi. L'unica cosa che posso suggerire è provare un font diverso. Potresti dover impacchettare il tuo font con la tua app per avere il controllo su questo. Ci sono alcuni caratteri gratuiti per l'ebraico. Ezra SIL è un font eccellente con un aspetto classico. Puoi trovarne molti altri con una semplice ricerca web. –

+1

Grazie! Ci proverò – jkigel

0

penso che tou bisogno per lo stile stringa di output con un CSS che usa il tag dir = "RTL" - che correggerà la direzionalità dei tuoi numeri e caratteri speciali in ebraico

Problemi correlati