Możesz dać ImageView[] tab do klasy. Final nie ma tu znaczenia bo i ta możesz zmienić tab.cośtam.
Ogólnie ja bym polecał ta zrobić:
int[][] plansza; // 10x10
do tego gridview dać te imageView, osobno zadeklarować OnClick i dla każdego imageview dać ten sam onClick
w tym onClick sprawdzić, który imageview kliknięty i zmienić odpowiedni int w planszy.
w tym onClick zmienić wygląd tego imageview (lub każdego) odpowiednio wg planszy tj.
np. plansza[5][2] == 1 to img[5][2].setImageResource(R.drawable.pole_pressed);
I tu robisz logikę dla planszy czyli czy trafiony zatopiony itp., czy wygrana itp.
edit: jeśli pole będzie mieć tylko 2 stany, to można pokusić się o ToggleButton zamiast ImageView