Cómo borrar todos los controles en un diseño
1. Para interfaces que no se han cargado o que desea cargar dinámicamente, debe usar LayoutInflater.inflate() para cargarlas;
2. interfaces cargadas, puede utilizar el método Activiyt.findViewById() para obtener elementos de la interfaz.
LayoutInflater es una clase abstracta, declarada de la siguiente manera en el documento:
La clase abstracta pública LayoutInflater extiende el objeto
Tres métodos para obtener instancias de LayoutInflater:
1.LayoutInflater inflador = getLayoutInflater(); //Llamar a getLayoutInflater() de la actividad.
2.LayoutInflater local inflador = (LayoutInflater)Context. getsystem service (Context. LAYOUT _ INFLATER _ SERVICE
1. LayoutInflater inflador = LayoutInflater . /p>
De hecho, estos tres métodos son esencialmente los mismos, como se puede ver en el código fuente:
getLayoutInflater():
El método getlayoutinterpreter() de la actividad es llamado método getlayoutinterpreter() de PhoneWindow. Eche un vistazo al código fuente:
ventana de teléfono público(contexto de contexto){
super(contexto);
mLayoutInflater = layoutinflater from(context) ;
p>
}
Puedes ver que en realidad está llamando a layoutimporter. de (contexto).
LayoutInflater.from(context):
Diseño estático público de (contexto contextual){
LayoutInflater LayoutInflater = (LayoutInflater)Context getsystem service(Context. LAYOUT _ INFLATER _ SERVICE);
if (LayoutInflater ==null) {
Lanza un nuevo AssertionError("LayoutInflater no encontrado.");
}
Volver a LayoutInflater
}
Puedes ver que en realidad llama a context.getSystemService().
Conclusión: Entonces, la esencia última de estos tres métodos es que todos se llaman Context.getSystemService().
Método inflar A través de la documentación API del SDK, podemos saber que este método tiene los siguientes formularios sobrecargados y los valores de retorno son todos objetos de vista, de la siguiente manera:
inflación de vista pública (int recurso, raíz de grupo de vista);
3 inflación de vista pública (analizador XmlPullParser, raíz de grupo de vista
4 inflación de vista pública (analizador XmlPullParser, raíz de grupo de vista); , booleano adjunto a raíz) ;
5 vista pública inflar (int recurso, raíz de ViewGroup, booleano adjunto a raíz);
6
7 LayoutInflater INFLATER =(LayoutInflater )getsystem SERVICE(LAYOUT _ INFLATER _ SERVICE);
8 Ver Vista = inflate(r . diseño . personalizado, (grupo de vistas)findViewById(r . id . prueba));
9/ /EditText EditText =(EditText)findViewById(r . id . content);
10 //Error
EditText EditText =(EditText)view . . id . content);
Para el código anterior, se especifica la raíz del segundo parámetro ViewGroup y, por supuesto, también se puede establecer en un valor nulo.
Nota:
El método inflate es diferente del método findViewById;
El importador se utiliza para buscar el archivo de diseño xml en res/layout y crear una instancia del mismo. ;
findViewById() es buscar controles de widget específicos (como Button, TextView, etc.) en un archivo de diseño xml específico.