¿Cuál es la diferencia entre llamar a LayoutInflater directamente y no?

Fui a través de algunos tutoriales, y en el Doc Android, se dice no acceder a LayoutInflater directamente al instanciarlo. Ejemplo de Google Doc:

LayoutInflater inflater = (LayoutInflater)context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); 

El tutorial que he estudiado es éste:

 LayoutInflater inflater = LayoutInflater.from(parent.getContext()); 

Así que lo que realmente no entiendo es lo que la diferencia es además el código diferente obvio. Cualquier explicación muy apreciada. Supongo que el Android Doc debe ser el que seguimos, pero no estoy seguro si hace una diferencia.

2 Solutions collect form web for “¿Cuál es la diferencia entre llamar a LayoutInflater directamente y no?”

Si abre la fuente de Android, puede ver que el método LayoutInflator.from se ve así:

 /** * Obtains the LayoutInflater from the given context. */ public static LayoutInflater from(Context context) { LayoutInflater LayoutInflater = (LayoutInflater) context.getSystemService(Context.LAYOUT_INFLATER_SERVICE); if (LayoutInflater == null) { throw new AssertionError("LayoutInflater not found."); } return LayoutInflater; } 

Eso significa que las dos líneas de código en su pregunta hacen lo mismo. No estoy seguro de lo que el tutorial que lee dice exactamente, pero no veo ninguna diferencia en la funcionalidad. Usar el método from es bueno ya que requiere un poco menos de mecanografía, eso es todo.

 LayoutInflater inflater = (LayoutInflater)context.getSystemService (Context.LAYOUT_INFLATER_SERVICE); 

Usted está recibiendo el LayoutInflater Service Provider desde System Manager

 LayoutInflater inflater = LayoutInflater.from(parent.getContext()); 

Está utilizando static método static de la LayoutInflater Class

Yo diría que la diferencia está sólo en el código y cómo se escribe esto también pila de llamadas, pero el resultado es el mismo – se obtiene LayoutInflater .

Más sobre esto

Saludos

  • ¿Cuál es la forma correcta de obtener el inflador de diseño en Android?
  • Haga clic en TextView dentro del diseño lineal inflado
  • InflateException en la llamada al método inflater.inflate ()
  • Infla la vista sin el margen
  • Disposición incondicional, inflación del adaptador de la visión: Debe utilizar el patrón del sostenedor de la visión
  • Cómo guardar un diseño hinchado en android después de los cambios de configuración?
  • Android: setContentView () == getViewInflate (). Inflate ()?
  • Estoy recibiendo error de inflado de diseño al usar android: textSize = "? Android: attr / textAppearanceLarge" en mi xml
  • ¿Cuál es la diferencia entre Factory y Factory2 de LayoutInflater?
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.