我希望在显示网格视图的第一项时执行某些操作,目前我正在执行此操作。
if(((GridView)v).getFirstVisiblePosition() == 0)
{
...
...
}
但是当第一项略微可见时它会运行,但我想在它完全显示时运行它。是否有可能通过某种方式实现这一目标。此代码位于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;
}
});