¿Por qué utilizar Inflater en listview?

  • Siempre tuve ambigüedad sobre por qué necesitamos usar inflater en android, ¿Por qué se utilizan en ListView para diseños personalizados (como a continuación)?
  • ¿Qué es un Inflater?
  • ¿Cuál es la ventaja de usar Inflater?

public class MobileArrayAdapter extends ArrayAdapter<String> { private final Context context; private final String[] values; public MobileArrayAdapter(Context context, String[] values) { super(context, R.layout.list_mobile, values); this.context = context; this.values = values; } @Override public View getView(int position, View convertView, ViewGroup parent) { LayoutInflater inflater = (LayoutInflater) context .getSystemService(Context.LAYOUT_INFLATER_SERVICE); View rowView = inflater.inflate(R.layout.list_mobile, parent, false); TextView textView = (TextView) rowView.findViewById(R.id.label); ImageView imageView = (ImageView) rowView.findViewById(R.id.logo); textView.setText(values[position]); 

Gracias,

¿Qué es un Inflater?

Para resumir lo que dice la documentación de LayoutInflater … Un LayoutInflater es uno de los servicios de sistema de Android que se encarga de tomar los archivos XML que definen un diseño y convertirlos en objetos de View . A continuación, el sistema operativo utiliza estos objetos de vista para dibujar la pantalla.

Siempre he tenido la ambigüedad de por qué necesitamos utilizar inflater en android, ¿Por qué se utilizan en Android ListView para un diseño personalizado?

Típicamente, usted nunca necesita usar directamente LayoutInflater. Android hace la mayor parte de la inflación de diseño para usted cuando llama a setContentView() en el método onCreate() de su actividad. Así que, como programador, son responsables de asegurarse de que las opiniones se infla . Ahora desea inflar vistas en el contexto de un ListView. La clase Adaptador puede hacer la inflación si no desea personalizar cada elemento. Pero si quieres personalizar las vistas que se muestran en una lista, tendrás que inflar manualmente cada vista con LayoutInflater, ya que no hay otro método existente que puedas usar.

¿Cuál es la ventaja de usar Inflater?

No hay ninguna ventaja en usarlo. Se requiere que utilices LayoutInflater de alguna forma para inflar tus diseños XML estáticos.

Como alternativa, puede crear vistas dinámicamente con código java. Sin embargo, necesitará llamar a métodos para establecer cada propiedad para la vista a mano. En mi opinión, es más fácil utilizar el proceso XML / inflación. Además, Android pre-procesa sus archivos XML en tiempo de construcción, por lo que esto resulta en un tiempo de ejecución más rápido.

Siempre tuve ambigüedad en por qué wee necesidad de utilizar inflater en android, ¿Por qué se utilizan en android ListView para un diseño personalizado?
Se utilizan para crear las vistas para cada fila.

¿Qué es un Inflater?
Un servicio de sistema que crea una vista fuera de un diseño XML.

En el siguiente código estoy tratando de entender por qué se utiliza Inflator?
El inflador se utiliza para crear las vistas de las filas.

¿Cuál es la ventaja de usar Inflater?
¿Comparado con que? ¿Cómo desea crear las vistas fuera del diseño XML?

En pocas palabras, un inflador le permite crear una vista desde un archivo de diseño de recursos para que no sea necesario crear todo mediante programación.

En su ejemplo, inflar el diseño R.layout.list_mobile . Esto le permite acceder a todas las vistas dentro de ella. Por ejemplo, a continuación, llame a:

 TextView textView = (TextView) rowView.findViewById(R.id.label); 

Llamando a rowView.findViewById() usted puede tener acceso a las vistas que fueron creadas dentro de esa disposición. A menudo para ListViews tendrá un archivo XML de fila que luego inflar y poner sus datos en las vistas.

  • ListView Horizontal como Catálogos de Google
  • Android ListView con estilo como iPhone agrupado UITableView
  • ¿Cómo puedo evitar que el pie de página de ListView se seleccione?
  • notifyDataSetChanges para el adaptador de lista, modifique sólo parte de la vista
  • SetSelected () funciona buggy con ListView
  • Android Handler Message y ListView
  • Nesting Android ViewPager, Swiping ListItems dentro de un ListView horizontalmente
  • Desplácese ListView sin problemas y programáticamente
  • Android: colocar anuncio en la parte inferior de la pantalla
  • Cómo detectar si un listview está desplazándose hacia arriba o hacia abajo en android?
  • Adaptador personalizado para la vista de lista
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.