R.string.value devuelve el número ID de referencia del 'valor' de los recursos. Si nos fijamos en la clase R, aparecerá como algo parecido a esto:
public static final class string {
public static final int value=0x7f040007;
}
He estado experimentando problemas con referencia al método getString(). El error exacto que Eclipse escupe a mí es:
El método getString (int) no está definida para el tipo DatabaseHelper.MainDatabaseHelper
Después de leer por un tiempo he descubierto que se debe hacer referencia a su contexto de la aplicación para acceder al método getString(). Estaba intentando crear una clase de ayuda SQLDatabase privada en un proveedor de contenido, sin embargo, eso no me permitía hacer referencia al método getString(). Mi solución hasta ahora es hacer algo como esto:
private class MainDatabaseHelper extends SQLiteOpenHelper {
MainDatabaseHelper(Context context) {
super(context, context.getString(R.string.createRoutesTable), null, 1);
}
public void onCreate(SQLiteDatabase db) {
db.execSQL((getContext()).getString(R.string.createRoutesTable));
}
}
nota los siguientes referencias: dos de contexto
contexto .GetString()
(getContext()) .GetString()
No sé si este es el óptimo a largo plazo s solución pero parece funcionar por el momento. Espero que esto ayude.
funcionó muy bien. gracias – Simon
@Sephy Tengo un problema con getString(), sigo recibiendo "El método getString (int) no está definido ..." ¿qué estoy haciendo mal? – mlevit
¿Qué intentas hacer con este método? – Sephy