for(int i = 0; i < GridView.getChildCount(); i++) {
if(GridView.getChildAt(i).isVisible())
// do what you need
}
Вы должны учитывать, что это абстрактный фрагмент кода, только иллюстрированный подход к решению вашей проблемы
Редактировать: На мой взгляд, лучше:
for(int visiblePosition = GridView.getFirstVisiblePosition(); visiblePosition <= GridView.getLastVisiblePosition(); visiblePosition++) {
View view = GridView.getChildAt(visiblePosition);
// make something
}