studio programacion para móviles libro edición desarrollo desarrollar curso aprende aplicaciones android int charsequence

programacion - R.string.value Ayuda a la notificación de Android



manual de programacion android pdf (4)

¿Cuál es el trato con

CharSequence contentTitle = R.string.value;

El error no se puede convertir de int a CharSequence. ¿Hay alguna forma de evitar esto o me estoy perdiendo algo? Lo intenté

String s = R.string.value + ""; CharSequence contentTitle = s;

devuelve valores enteros. ¿Alguna ayuda?


Para recuperar la cadena, necesita usar getString (),

pero getString () es un método de la clase de contexto. Si desea utilizar este método fuera de su clase de actividad, primero debe obtener un enlace a su contexto y luego llamar:

String s = mContext.getString(R.string.somestring)


Podría usar String s = getResources().getString(R.string.value); además.


R.string.value devuelve el número de ID de referencia del recurso ''valor''. Si observas tu clase R, aparecerá como algo así:

public static final class string { public static final int value=0x7f040007; }

He estado experimentando problemas al hacer referencia al método getString (). El error exacto que me escupe Eclipse es:

El método getString (int) no está definido para el tipo DatabaseHelper.MainDatabaseHelper

Después de leer un rato, he descubierto que debe hacer referencia al contexto de su aplicación para obtener acceso al método getString (). Sin embargo, estaba intentando crear una clase auxiliar de SQLDatabase privada en un proveedor de contenido que 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)); } }

Note estas dos referencias de contexto:

contexto .getString ()

(getContext ()) .getString ()

No sé si esta es la solución óptima a largo plazo, pero parece funcionar por el momento. Espero que esto ayude.


R.string.value es una llamada al campo estático en la clase R, que Eclipse genera automáticamente y que hace una especie de resumen de todos sus recursos. Para recuperar la cadena, necesitas usar:

CharSequence contentTitle = getString(R.string.value);

Si abres la clase R, verás que contiene solo números que son referencias a los recursos compilados de tu proyecto.