Cómo obtener nombre de recurso de cadena por su valor

Quiero obtener un nombre de recurso de cadena o ID pasando su valor.
Ejemplo:

<string name="stringName">stringValue</string> 

Quiero pasar el stringValue y obtener el stringName o ID (id value)

Sobre la base de ID i hará algunos cálculos para obtener otro ID de otro recurso de cadena

No sé si eso es posible y creo que los ID pueden cambiar sin previo aviso si la clase R se genera de nuevo. Podrías por supuesto intentar un poco de magia de la reflexión en esta clase, pero recomendaría contra ella.

También tengo este problema, y ​​puedo pensar en 2 posibles soluciones:

  • cargar todas las cadenas y sus nombres en una tabla, y mirar en la tabla.
  • O recorra mi lista completa de nombres, obteniendo el recurso de cadena para cada uno, y comparándolo con mi recurso de cadena conocido.

Estoy implementando el segundo, ya que mi lista de recursos de cadena no es muy grande, y no tengo que hacer esta operación muy a menudo. Una vez que se conoce el nombre, es posible obtener el ID de recurso mediante:

 //Get resource id from name var resourceId = (int) typeof (MyApp_droid.Resource.String).GetField(MyStringName).GetValue(null); 

(el código es C # porque estoy trabajando en Xamarin).

  • Gestión de activos entre la versión de escritorio y de dispositivo en libgdx
  • Android: ¿Cómo liberar recursos cuando termina la aplicación?
  • Con los recursos predeterminados en la carpeta dibujable (tamaño MDPI), ¿cuál es el punto de la carpeta drawable-mdpi?
  • Cómo encontrar View from string en vez de R.id
  • Android: ¿Cómo puedo incluir un sonido de notificación utilizando un recurso de sonido?
  • Android ImageButton - determina qué recurso está configurado actualmente
  • Android: ¿Es más eficiente usar un archivo de texto o un archivo XML para almacenar datos estáticos
  • Diferencia entre getResources (R.string.hello_world) y R.string.hello_world
  • Recurso no encontrado de android no encontrado excepción
  • Recursos compilados de Android - resources.arsc
  • Lista completa de todas las carpetas de recursos de Android?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.