vistas studio sirve que propiedades para libreria grupos example clase addview android android-layout

studio - propiedades de la clase view android



onFinishInflate() nunca se llama (1)

View.onFinishInflate() se llama después de que una vista (y sus hijos) se infla desde XML. Específicamente, es durante una llamada a LayoutInflater.inflate(...) que se onFinishInflate() . La inflación se realiza de forma recursiva, a partir de la raíz. Una vista que contenga niños puede necesitar saber cuándo sus hijos han terminado de inflarse. Uno de los usos principales de esta devolución de llamada es que ViewGroups realice acciones especiales una vez que sus hijos estén listos.

Supongamos que tiene una subclase de View llamada CustomView , y que no se infla internamente ningún diseño. Si tenía un CustomView en algún lugar de su diseño, es decir:

... <com.company.CustomView android:layout_width="wrap_content" android:layout_height="wrap_content" /> ...

Debería ver una devolución de llamada a onFinishInflate() una vez que se haya inflado. Si esto se encuentra en el diseño principal de su actividad, puede considerar que está después de que se llame a Activity.setContentView(int) . Internamente, esto llamará a LayoutInflater.inflate(...) .

Alternativamente, si creó una instancia de CustomView con:

... new CustomView(context); ...

... no recibirás una llamada a onFinishInflate() . La creación de instancias de esta manera naturalmente significará que no tiene hijos y, por lo tanto, no tiene que esperar a que se instalen de forma recursiva, como en la inflación XML.

¿Quién / qué llama onFinishInflate ()? No importa cómo infle mis archivos de diseño (en código), este método nunca parece activarse. ¿Alguien puede darme un ejemplo o decirme cuándo se llama realmente a onFinishInflate ()?