Lo estoy usando, pero siempre devuelve 0, aunque me he desplazado hasta el final de la lista.Android: ListView.getScrollY() - ¿funciona?
Respuesta
getScrollY() es en realidad un método en Ver, no en ListView. Se refiere a la cantidad de desplazamiento de la vista completa, por lo que casi siempre será 0.
Si desea saber qué tan lejos se desplazan los contenidos de ListView, puede usar listView.getFirstVisiblePosition();
gracias hombre :) que realmente explica mucho :) – cV2
Tenga en cuenta que getFirstVisiblePosition devolverá el * elemento * no la * posición *, por lo tanto, no es algo que pueda usar como alternativa a getScrollY excepto en el caso de que todos los artículos de la lista son precisamente de la misma altura. –
¿Es la posición getScroolY de scroolview en la parte superior de la ventana gráfica o al final? –
Funciona, devuelve la parte superior de la parte desplazada de la vista en píxeles desde la parte superior de la vista visible. Consulte la documentación de getScrollY(). Básicamente, si su lista ocupa la vista completa, siempre obtendrá 0, porque la parte superior de la lista desplazada siempre está en la parte superior de la pantalla.
Lo que se quiere hacer para ver si está al final de una lista es algo como esto:
public void onCreate(final Bundle bundle) {
super.onCreate(bundle);
setContentView(R.layout.main);
// The list defined as field elswhere
this.view = (ListView) findViewById(R.id.searchResults);
this.view.setOnScrollListener(new OnScrollListener() {
private int priorFirst = -1;
@Override
public void onScroll(final AbsListView view, final int first, final int visible, final int total) {
// detect if last item is visible
if (visible < total && (first + visible == total)) {
// see if we have more results
if (first != priorFirst) {
priorFirst = first;
//Do stuff here, last item is displayed, end of list reached
}
}
}
});
}
La razón para el contador priorFirst es que a veces se desplazan los eventos se pueden generar varias veces, por lo solo necesita reaccionar a la primera vez que se llega al final de la lista.
Si está intentando hacer una lista de crecimiento automático, sugeriría esto tutorial.
- 1. Android alarma no funciona
- 2. Android volátil no funciona?
- 3. android GCM no funciona
- 4. Android layout_below no funciona
- 5. android: capitalize no funciona
- 6. Spinner.setSelection Android() no funciona
- 7. Android adapter.notifyDataSetChanged() no funciona?
- 8. OnActivityResult no funciona (Android)
- 9. android emulator no funciona?
- 10. Android OnItemClickListener no funciona
- 11. android buscable no funciona
- 12. Android EasyTracker no funciona correctamente?
- 13. dividida Android no funciona correctamente
- 14. android: smoothScrollToPosition() no funciona correctamente
- 15. Android sin proxy no funciona?
- 16. Android: Location.distanceTo no funciona correctamente?
- 17. ¿Cómo funciona Mono para Android?
- 18. Android ArrayAdapter.Add método no funciona
- 19. notificación de Android no funciona
- 20. ¿Cómo funciona un Android WakeLock?
- 21. ¿Cómo funciona android: noHistory = "true"?
- 22. Notificación de Android no funciona
- 23. de ImageView Android no funciona
- 24. weightSum Android no funciona correctamente
- 25. Android GLES20.glBlendEquation no funciona?
- 26. Android ActionBar setCheckable() no funciona
- 27. Android layout_width & layout_height, ¿cómo funciona?
- 28. AudioManager.isWiredHeadsetOn() no funciona en Android
- 29. ¿Cómo funciona SetDrawingCacheEnabled() de Android?
- 30. Android/Phonegap - onClick() no funciona
Si lo que busca es el número de píxeles que desaparece en la parte superior de la lista cuando el usuario se desplaza hacia abajo, eche un vistazo a [mi respuesta aquí] (http://stackoverflow.com/questions/10808387/android- getting-exact-scroll-position-in-listview/13415273 # 13415273) – Maria
La [solución] correcta (http://stackoverflow.com/questions/12727594/android-listview-current-scroll-location-y-pixels/35594825 # 35594825) – Sarasranglt