He encontrado un problema extraño en el que si llamo al getString(R.string.somestringname)
, de vez en cuando, incluso después de eliminar el archivo R y volver a compilar, aparece la cadena incorrecta. El emulador no se cuelga y aparece una cadena válida, es la incorrecta.Los ID de recursos de Android se asignan incorrectamente
Una muestra de mi strings.xml:
<?xml version="1.0" encoding="utf-8"?>
<resources>
<!-- Activity Names -->
<string name="app_name">an app name</string>
<string name="selector_name">app name | Select</string>
<string name="create">Create</string>
<string name="overview_name">appname | Overview</string>
<string name="another_name">appname | Another View</string>
.....
<!-- Edit Note -->
<string name="placeholder">Foo bar</string> <-- here is a problem
<string name="created">Created:</string>
</resources>
Este es un ejemplo de código en la que aparece uno de los problemas:
if (note.created != null) {
createdtext.setText(getString(R.string.created) + " " + Util.longDateFormat(note.created));
}
El texto que se emite (algunas de las time) es Foo bar November 03, 2010
(es decir, pertenece a R.string.placeholder). Que esta pasando? Esto me pone nerviosamente tentado a codificar las cadenas ;-)
¡Gracias por su ayuda!
Probablemente debería mencionar mi entorno de desarrollo es OSX Snow Leopard y compilo con 'hormiga de instalación' – SapphireSun