2011-08-15 14 views
5

¿Es posible que Android me proporcione una identificación personalizada?Android: Posible obtener una Rid personalizada.

así que por ejemplo si ya han definido en xml:

R.id.some_layout 
R.drawable.some_drawable 

¿hay alguna función como esta

R.custom_id("a_custom_id") 

así que entonces podía acceder como

R.id.a_custom_id 

Respuesta

16

No puede crear nuevos ID dinámicamente. Incluso si R fuera capaz de hacerlo, no podría acceder usando R.id.a_custom_id. Java no es un lenguaje dinámico y no puede agregar campos en tiempo de ejecución.


Hay, sin embargo, en tiempo de compilación solución. En su res/values/ids.xml complemento:

<?xml version="1.0" encoding="utf-8"?> 
<resources> 
    <item type="id" name="a_custom_id"/> 
</resources> 

Y a continuación, puede hacer referencia a R.id.a_custom_id en el código y en "@id/a_custom_id" XMLs. Por supuesto, su id todavía predefinida (a diferencia de la id definida en tiempo de ejecución).

Cuestiones relacionadas