0

I want to do something when first item of grid view is shown, and currently I'm doing this to achieve this.

if(((GridView)v).getFirstVisiblePosition() == 0)
{
    ...
    ...
}

But it runs when 1st item is slightly visible, but I want to run it when it is fully shown. Is it possible to achieve this by some mean. This code is inside touch event of gridview.

gridView.setOnTouchListener(new OnTouchListener() {

        private float mInitialY;
        @Override
        public boolean onTouch(View v, MotionEvent event) {
            // 
            int action = event.getAction();
            switch (action) {
            case MotionEvent.ACTION_DOWN:
                mInitialY = event.getY();
                break;

            case MotionEvent.ACTION_UP:


            case MotionEvent.ACTION_MOVE:
                final float y = event.getY();
                final float yDiff = y - mInitialY;
                if (yDiff > 0.0) {
                    //SCROLL DOWN
                    if(((GridView)v).getFirstVisiblePosition() == 0)
                    {

                    }
                    break;
                } else if (yDiff < 0.0) {
                        // SCROLL UP
                    break;

                }
                break;
            }

            // Handle ListView touch events.
            v.onTouchEvent(event);
            return true;
        }
    });
Yawar
  • 1,924
  • 3
  • 29
  • 39

0 Answers0