Método findViewById
Esta función, es la que enlaza un recurso de la interfaz de
usuario de una aplicación, con una variable en nuestro código. O simplemente se
encarga de acceder a ese recurso para cambiar una de sus propiedades.
Supongamos, pues, que tenemos un layout con una veintena de
widgets entre layouts, Buttons, EditText, TextView, ImageView… Y que en un
momento dado del ciclo de vida de la actividad, tenemos que acceder a uno ó
varios de ellos para cambiar sus propiedades. Podemos acceder a ellos del modo:
((EditText)
this.findViewById(R.id.edittext_cliente)).setOnClickListener(…);
Aunque también podemos guardar el valor que devuelve la
función findViewById() en una variable, o variable miembro de la Activity para
operar con ella varias veces a lo largo del citado ciclo de vida.

¿Cuál es la diferencia? y ya que estamos ¿cuál era nuestro error? Pues que cada vez que se llama a la función findViewById(), android recorre todo el árbol jerárquico del Layout que hemos definido previamente en XML, en busca del recurso al que queremos acceder. Como ya habréis averiguado, el costo de esa operación es muy alto si el control a encontrar es de los últimos en el árbol, o si hay muchos niveles de layouts anidados, o simplemente queremos cambiar el valor de una de las propiedades de ese recurso bastantes veces a lo largo del ciclo de vida de la aplicación.
No hay comentarios.:
Publicar un comentario