Join FlipAndroid.COM Telegram Group: https://t.me/joinchat/F_aqThGkhwcLzmI49vKAiw


Evento de ScrollUp y ScrollDown de GridView OnScrollListener de Android

Tengo gridview y tengo que hacer dos cosas:

Cuando me desplazo hacia abajo, quiero encontrar la última posición visible, por ejemplo, int index = GridView.getLastVisiblePosition();

Cuando me desplazo hacia arriba, quiero encontrar la primera posición visible, por ejemplo, int index = GridView.getFirstVisiblePosition();

Sé que puedo usar el siguiente código, pero no estoy seguro de cómo y dónde escribir un código para ScrollUp y ScrollDown. Por favor, ayúdame. Soy nuevo en android.

 private OnScrollListener onAnswersScrolled = new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } } 

  • GridView y el exceso de espacio de relleno
  • Cambiar dinámicamente el número de columnas de un GridLayoutManager
  • Pasar de una vista de lista a una vista de cuadrícula
  • Pinterest estilo listview o gridview en android
  • Arrastre de elementos en la vista de cuadrícula
  • Después de onLongPress, la primera vista en gridview obtiene NullPointerException en startDrag
  • GridView con desplazamiento horizontal
  • OnItemClickListener no funciona, pero OnItemLongClickListener está trabajando en GridView
  • 2 Solutions collect form web for “Evento de ScrollUp y ScrollDown de GridView OnScrollListener de Android”

    Cree la variable global myLastVisiblePos en su actividad y guarde para cada FirstVisiblePosition, cuando el evento onScroll compruebe Current FirstVisiblePosition con su FirstVisiblePosition guardado si greate que su última FirstVisiblePosition guardada, luego scrollUp si es pequeño entonces scrollDown:

     int myLastVisiblePos;// global variable of activity //save first value when you create GridView GridView gridView = (GridView) gv.findViewById(R.id.grid_view); myLastVisiblePos = gridView.getFirstVisiblePosition(); gridView.setOnScrollListener( new OnScrollListener() { @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { int currentFirstVisPos = view.getFirstVisiblePosition(); if(currentFirstVisPos > myLastVisiblePos) { //scroll down } if(currentFirstVisPos < myLastVisiblePos) { //scroll up } myLastVisiblePos = currentFirstVisPos; } }); 

    Pruebe este Código puede serle de ayuda.

     GridView gridView = (GridView) gv.findViewById(R.id.grid_view); gridView.setOnScrollListener(new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { // TODO Auto-generated method stub } @Override public void onScroll(AbsListView view, int firstVisibleItem, int visibleItemCount, int totalItemCount) { // TODO Auto-generated method stub Log.e("GridView","firstVisibleItem"+firstVisibleItem+"\nLastVisibleItem"+totalItemCount); } } }); 
    FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.