ScrollUp and ScrollDown event for Android Gridview OnScrollListener

I have a gridview and I need to do two things:

When I scroll down, I want to find the last visible position, for example, int index = GridView.getLastVisiblePosition();

When I scroll up, I want to find the first visible position, for example, int index = GridView.getFirstVisiblePosition();

I know that I can use the following code, but I'm not sure how and where to write code for ScrollUp and ScrollDown. Please help me. I am new to Android.

 private OnScrollListener onAnswersScrolled = new OnScrollListener() { @Override public void onScrollStateChanged(AbsListView view, int scrollState) { } } 
+6
source share
2 answers

Create a global variable myLastVisiblePos in your activity and save for each FirstVisiblePosition when the onScroll event checks the current FirstVisiblePosition value with the FirstVisiblePosition saved if greate than your last saved FirstVisiblePosition, then scrollUp if it is small and then 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; } }); 
+19
source

Try using this code for you.

 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); } } }); 
+1
source

Source: https://habr.com/ru/post/944262/


All Articles