studio resource recursos linking i18n failed activities android resources

android - resource - Alcance de los valores de R.id



resource value android studio (3)

Está bien usar el mismo ID en múltiples elementos, siempre que no estén en la misma vista. Por lo tanto, todos los botones de guardar podrían tener el ID de btn_save y, si no hay dos de ellos en el mismo archivo de diseño o diseños adjuntos, entonces está bien.

Estoy buscando formas de reducir lo que yo llamaría "contaminación de identificación" en mis aplicaciones. Por lo que puedo decir, R.id es global para la aplicación, por lo que en cada Actividad por lo general creo valores únicos de identificación de recursos para los elementos, incluso si tengo muchas de las mismas cosas. Por ejemplo, si tengo tres clases de actividad, cada una con un botón de guardar y cancelar, definiría seis ID únicas para R.id como:

R.id.actOne_save R.id.actOne_cancel R.id.actTwo_save R.id.actTwo_cancel R.id.actThree_save R.id.actThree_cancel

Esto me parece innecesario, ya que realmente solo necesito dos en ejecución en cualquier Actividad. ¿Cuáles son algunas de las prácticas que todos usan al generar identificadores de recursos? ¿Los reutilizas entre las actividades? ¿Está bien si existe una identificación en dos Activites (tal vez una en pausa y otra en primer plano) al mismo tiempo? Tengo miedo de comportamientos extraños, como hacer clic en un botón, ¡golpear a demasiados oyentes!


Las otras respuestas funcionarán, pero también podría hacer un save_button.xml en su carpeta de diseño, con <Button> como la etiqueta raíz. Luego haz referencia a la identificación de ese tipo en aquellos lugares en los que lo necesites. Esto significa que solo necesita definir un botón "guardar" y usarlo en todas partes.


Yo suelo:

R.id.activityName_type_action

donde tipo puede ser [btn | txtview | edittext | listview ...]

y la acción es algo así como [guardar | del | aceptar | nombre | pin ...]

Es bastante detallado, pero de esta manera puedo adivinar el nombre del identificador de la actividad sin tener que verificar continuamente el diseño xml.

Por ejemplo:

R.id.loginpin_btn_accept

R.id.loginpin_txtview_pin