Использование modulo - хороший способ для этого.
Итак, внутри onClickListener:
int numColumns = yourGridView.getColumnCount();
if(position % numColumns == 0){
//item is in the first column
} else if(position % numColumns == 1){
//item is in second column
} else if(position % numColumns == 2){
//item is in third column
}...
На этом рисунке ниже показано, как в массиве можно преобразовать позиции массива в позиции столбцов.из трех столбцов (по модулю 3):
Спасибо