2010-07-09 15 views
81

Estoy creando un objeto EditText que luego intento hacer referencia en una prueba unitaria. ¿Cuál es la mejor manera de agregar un nuevo id a R.id para este objeto creado dinámicamente, de manera que pueda consultarlo más tarde a través de findViewById() en la prueba unitaria?agregue id de forma programática a R.id

+0

posible duplicado de [Android: View.setID (int id) mediante programación - cómo evitar ¿Conflictos de ID?] (Http://stackoverflow.com/questions/1714297/android-view-setidint-id-programmatically-how-to-avoid-id-conflicts) – rds

Respuesta

188

Puede establecer identificaciones que luego utilizará en la clase R.id utilizando un archivo de recursos xml y dejar que Android SDK les dé valores únicos durante el tiempo de compilación.

res/valores/ids.xml

<?xml version="1.0" encoding="utf-8"?> 
<resources> 

    <item name="my_edit_text_1" type="id"/> 
    <item name="my_button_1" type="id"/> 
    <item name="my_time_picker_1" type="id"/> 

</resources> 

utilizarlo en código:

myEditTextView.setId(R.id.my_edit_text_1); 
+1

¿puedo llamar al archivo anothername.xml? –

+2

Perdón por la respuesta tardía, pero sí, al igual que con todos los recursos de Android, puede ponerle nombre a .xml de todas formas ... –

Cuestiones relacionadas