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;
}
});