recursos - strings.xml android studio
Los ID de recursos de Android se asignan incorrectamente (1)
Use la instalación ant clean install
lugar de solo ant install
.
Java inserta constantes como los valores de R.id en bytecode generado, y algunas veces sus clases no se vuelven a compilar, aunque lo necesiten. Idealmente, ant install
esto correctamente; hasta que lo haga, ant clean install
es tu amigo.
He encontrado un problema extraño en el que si 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.
Una muestra de mis 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>
Aquí hay una muestra de código donde se encuentra uno de los problemas:
if (note.created != null) {
createdtext.setText(getString(R.string.created) + " " + Util.longDateFormat(note.created));
}
El texto que se emite ( algunas veces ) es Foo bar November 03, 2010
(es decir, pertenece a R.string.placeholder). Que esta pasando? Esto me pone nerviosamente tentado a codificar las cuerdas ;-)
¡Gracias por tu ayuda!