Вы можете попробовать это:
Изначально вы должны получить текущую позицию прокрутки GridView, вызвав:
int index = gridview.getFirstVisiblePosition();
Затем вы должны сохранить это значение при изменении ориентации, и когда GridView будет создан снова, вы должны переместить сетку в этот индекс.
Полагаю, это может сработать:
gridview.smoothScrollToPosition(int index)
Надеюсь, это поможет!