¿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);

¿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.

  • Disposición incondicional, inflación del adaptador de la visión: Debe utilizar el patrón del sostenedor de la visión
  • ¿Qué debo pasar por la raíz al inflar una presentación para utilizarla en ActionView de MenuItem?
  • ¿Por qué utilizar Inflater en listview?
  • InflateException en la llamada al método inflater.inflate ()
  • Android - diseño personalizado Inflater
  • Android: setContentView () == getViewInflate (). Inflate ()?
  • Estoy recibiendo error de inflado de diseño al usar android: textSize = "? Android: attr / textAppearanceLarge" en mi xml
  • Problema de LayoutInflater de Android
  • Inflater en Android Fragmentos
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.