que - listview dinamico android studio
Cómo hacer que el encabezado o el pie de página de un ListView no se pueda hacer clic (1)
Estoy agregando una vista de pie de página y encabezado a un ListView
utilizando los métodos setHeaderView()
y setFooterView()
y ViewInflater
. Eso funciona bastante bien.
Pero, ¿cómo podría evitar que la vista de encabezado o pie de página onListItemClick
eventos onListItemClick
? Por supuesto, puedo ver el evento y verificar si proviene de un encabezado o pie de página, pero esto solo resuelve una parte del problema, ya que el encabezado y el pie de página se enfocaron aún más cuando se hizo clic.
Simplemente use ListView # addHeaderView (View v, Object data, boolean isSelectable); y haciendo addFooter()
método addFooter()
.
El propósito del parámetro Object data
de Object data
.
El código fuente de ListView describe el parámetro de data
como:
Los datos que respaldan la vista. Esto se devuelve de ListAdapter # getItem (int).
Lo que significa que si uso listView.getAdapter().getItem(0);
Devolverá el objeto de data
de nuestro encabezado.
Elaboraré esto con un ejemplo:
listView = (ListView) findViewById(R.id.list);
String[] array = new String[] {"one", "two", "three"};
adapter = new ArrayAdapter<String>(this, android.R.layout.simple_list_item_1, array);
A continuación, agreguemos un encabezado y establezcamos el adaptador:
listView.addHeaderView(view, "Potato", false);
listView.setAdapter(adapter);
Más tarde si preguntamos:
Log.v("ListAdapter", listView.getAdapter().getItem(0)); // output: "Potato"
Log.v("ArrayAdapter", adapter.getItem(0)); // output: "one"