Tengo un Android ListView
creado con un SimpleAdapter
que tiene más elementos que caben en la pantalla. Después de que la lista se haya desplazado, necesito obtener el puesto en el modelo de datos del primer elemento visible de la lista.Android ListView: obtener el índice de datos del elemento visible
Básicamente quiero una función como: listView.getChildAt(0).getPositionInDataModel()
.
Adapter
tiene algunas funciones, como getItemId(position)
que parecían útiles; sin embargo, la implementación SimpleAdapter
simplemente devuelve la posición aprobada, no una identificación de fila como esperaba.
Una solución de fuerza bruta sería obtener la vista en el índice 0 y compararla con la vista de cada elemento del adaptador. Sin embargo, no parece haber una manera fácil de obtener la vista para una posición particular del adaptador.
¿Alguien tiene alguna idea?
Guau, no puedo creer que me haya perdido eso. Estaba buscando una función como esa. Debe haber sido porque está definido en una clase para padres donde no lo esperaba. Todavía me estoy acostumbrando a este estilo de javadoc ... ¡Gracias por señalarlo! –
@RomainGuy, guardó mi rendimiento de ListView ... –
Algunas de las vistas entre getFirstVisiblePosition() y getLastVisiblePosition() devuelven nulo en mi Gridview. Estoy reciclando las vistas, ¿es esa la causa? Esperaría que las vistas visibles estuvieran garantizadas para no ser nulas, especialmente porque puedo ver que no lo son. – Laurent