¿Cuál es la diferencia entre los infladores
¿Cuál es la diferencia entre hacer
LayoutInflater inflater = (LayoutInflater)activity.getSystemService(Context.LAYOUT_INFLATER_SERVICE);
Y inflater = LayoutInflater.from(activity);
- Línea del archivo XML binario ocasional #XX: Error al inflar la clase <unknown>
- Cómo agregar una vista inflada a un diseño lineal
- ¿Cuál es la forma correcta de obtener el inflador de diseño en Android?
- Android.view.InflateException: Línea de archivo XML binario # 7: Error al inflar la clase
- Cómo guardar un diseño hinchado en android después de los cambios de configuración?
- ¿Arquitectura de complementos para una aplicación de Android?
- ¿Cuál es la diferencia entre Factory y Factory2 de LayoutInflater?
- ¿Cuál es la diferencia entre llamar a LayoutInflater directamente y no?
- Haga clic en TextView dentro del diseño lineal inflado
- FindViewById en la clase non-activity
- gancho LayoutInflater y cambiar los valores al inflar las vistas
- Infla la vista sin el margen
- ¿Se recomienda comprobar la vista de null con cada llamada findViewById?
¿Cuál es la diferencia entre los infladores
La diferencia es que en el segundo ejemplo (a través de un método estático), no es necesario convertir Objeto en LayoutInflater
porque devuelve directamente la instancia de LayoutInflater.
El primer caso devuelve generalmente Objeto que debe LayoutInflater
explícitamente a LayoutInflater
. Pero el resultado de ambos métodos es la nueva instancia de LayoutInflater
Depende de usted qué método va a recoger. Usualmente uso LayoutInflater.from();
Método y nunca tienen problemas. No necesito lanzar del objeto y él hará un truco.
Como se ha mencionado en @CommonsWare, también puede llamar al
getLayoutInflater()
Si está en la clase de Activity
(es el método de actividad). Pero cuando no estás en Actividad debes tener una variable de Context
y luego puedes llamar (por ejemplo desde ListAdapter):
((Activity) context).getLayoutInflater();
Pero creo que cuando no estás en Activity es mucho más fácil y eficiente llamar LayoutInflater.from();
En lugar de enfoques anteriores.