Originariamente ho chiamato String.format
questo modo:Perché Android Lint avvisa su String.format utilizzando le impostazioni locali predefinite quando si utilizza esplicitamente Locale.US?
return String.format("%s %f %f", anotherString, doubleA, doubleB);
Quale fatto Android Lint generare questo avvertimento:
Implicitamente utilizzando le impostazioni locali di default è una fonte comune di bug: Usa String.Format (Locale,. ..) invece
quindi l'ho cambiato per usare Locale.US
in modo esplicito, in base a quello che ho letto in http://developer.android.com/reference/java/util/Locale.html nella sezione "diffidare di impostazioni internazionali di default":
return String.format(Locale.US, "%s %f %f", anotherString, doubleA, doubleB);
Perché Android Lint genera ancora lo stesso avviso? Devo pulire il progetto in Eclipse per sbarazzarlo, quando la maggior parte degli avvertimenti scompare appena viene fissata la riga incriminata. Non sono sicuro se sto facendo qualcosa di sbagliato o no.
avvertimento Lint non è errore affatto. Sta solo cercando di parlarti di prestazioni, traduzione e problemi simili. Ricevo questo avviso anche nelle app che desidero scegliere come target solo in una determinata lingua, ma puoi sempre disabilitare la funzione di sfocatura andando a Finestra> Preferenze> Android> Verifica errori filaccia. Credo che nella peggiore situazione ci possa essere un dispositivo che non avrà Locale.US disponibile e quindi può causare alcuni problemi. Non ho affrontato nessuno di questi fino ad ora però. – Milan