Encabezado estático en ListView, CustomBaseAdapter
Hola a todos estoy tratando de hacer un encabezado estático en mi ListView vinculado a un CustomBaseAdapter.
Quiero lograr que la cabecera permanece en la parte superior y no se desplaza con el ListView. Los otros elementos, debería desaparecer bajo el encabezado si desplazo la lista.
- android listview repitiendo algunos ítems en listitem click event
- Android listview diferentes vistas para cada elemento
- Android ListView con Fragmento
- Fije el foco en cualquier artículo de listview en android
- ¿Cómo obtengo el ID de fila de la fila de un ListView, que contiene un elemento que se puede hacer clic?
El encabezado se está configurando a través de un archivo xml (lvheader) que he creado. El encabezado se muestra correctamente encima de mi ListView, pero no es estático y se desplaza con el ListView.
¿Puede alguien ayudarme con esto? Thx por adelantado
Ya he buscado stackoverflow para obtener algunas ideas, aquí está el resultado.
Agregue el encabezado al ListView en mi Main.xml:
ListView kp = (ListView)findViewById(R.id.listvw); LayoutInflater inflater = getLayoutInflater(); ViewGroup header = (ViewGroup)inflater.inflate(R.layout.lvheader, kp, false); kp.addHeaderView(header, null, false); ArrayList<SearchResults> searchResults = GetSearchResults(); kp.setAdapter(new MyCustomBaseAdapter(AndroidLogin.this, searchResults, icons)); ... }
- Cambiar el color de fondo del elemento listview actual en el método getView del adaptador
- Android ListView en Actividad que se refresca en el cambio de orientación
- Gesto de lanzamiento horizontal de ListView
- Posición ListView onStart
- Centralización de diseño de Android en RelativeLayout para ListView personalizado
- Cómo mantener la posición de la barra de desplazamiento en android listview?
- La mejor manera de manejar múltiples llamadas getView desde dentro de un adaptador
- CursorAdapter en ListView
Afaik, todo lo que addHeaderView () hace es añadir el elemento en la parte superior de la lista, pero no se supone que lo haga "fijo" (unscrollable). Si quieres tener un elemento fijo, suena como si tuvieras dos vistas dispuestas en un LinearLayout vertical: la parte superior es la parte fija y la inferior una ListView.
Creo que debe separar el encabezado con el Listview.
Utilizar addHeaderView () :
Public void addHeaderView (Ver v)
Desde: API Nivel 1 Añada una vista fija para que aparezca en la parte superior de la lista. Si addHeaderView se llama más de una vez, las vistas aparecerán en el orden en que se agregaron. Las vistas agregadas usando esta llamada pueden concentrarse si lo desean. NOTA: Llame a esto antes de llamar a setAdapter. Esto es lo que ListView puede envolver el cursor suministrado con uno que también tendrá en cuenta las vistas de encabezado y pie de página.