Este es un post rápido en donde voy a explicar cómo se origina el error y cómo arreglar el error que dice algo así:
Resources$NotFoundException: String resource ID at android.content.res.Resources.getText at android.widget.TextView.setText
El error nos está indicando que no encuentra un recurso con determinado ID al llamar al método setText de un TextView. Vamos a ver cómo arreglarlo y sus orígenes, para que a la próxima no ocurra de nuevo.
La explicación del error
Esto pasa porque estamos intentando poner un entero como texto de un TextView y Android no lo convierte automáticamente como cadena, sino que cuando ve que es un entero, piensa que es un recurso (así como cuando guardamos nuestras cadenas en strings.xml
) y al intentar poner el valor no encuentra dicho recurso.
Solución
Convierte el entero o cualquier otro tipo de dato a cadena antes de que se lo pases al método setText
de un TextView.
Si tu dato es un objeto, llama a su método toString
. Y si no, entonces conviértelo a cadena con String.valueOf
. Por ejemplo:
int entero = 123;
String comoCadena = String.valueOf(entero);
// Ahora ya es una cadena :)
Cabe mencionar que el método funciona para booleanos, flotantes y otros más. Pero en resumen tienes que pasarle siempre una cadena (o un id de recurso pero ese es otro tema).