2010-07-22 4 views
5

Tengo mi ListView en la pantalla. Se desplazó hacia la parte superior. Veo 6 filas. Y cuando registro getFirstVisiblePosition() y getLastVisiblePosition(), dice 0 y 6.¿La opción getFirstVisiblePosition de ListView y getLastVisiblePosition están en la mentira?

¿GetLastVisiblePosition() realmente devuelve la primera posición no visible? En otras palabras, debe ser mi prueba de si una fila en particular es en pantalla no sea

first <= row && row <= last 

sino

first <= row && row < last 

?

+0

hola problema extraño Carl tengo el mismo, a veces obtengo el índice correcto, a veces falla = ( – Jorgesys

Respuesta

1

Bueno, probablemente exista la porción de la última vista visible número 6 en su caso, que en realidad se detecta como visible (tal vez solo una pequeña parte aparece en la parte inferior de la pantalla). Pero en cualquier caso, si muestra que el recuento es 7, ¿por qué no ir con él? Quiero decir que cualquier cosa que hagas para esa fila en realidad no se verá, además la vista ya está encuadernada en el adaptador y el método getView en el adaptador no se volverá a llamar.

Una cosa más con su segundo código es que, por ejemplo, cuando tiene solo una vista, la primera será 0, la fila será 0 y la última será 0 y sus condiciones no se cumplirán. No sé si esto te ayuda de alguna manera, pero aún así ...

Cuestiones relacionadas