Android Gridview OnScrollListener ScrollUp y ScrollDown evento

Tengo gridview y necesito 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) {
    }
}

Respuestas a la pregunta(2)

Su respuesta a la pregunta