How to calculate row / col from grid position?

int col = index / mRowCount;


index = col * mRowCount + row

then

row = index % mRowCount;

col = index / mRowCount;


I believe the column would be obtained by integer division:

int col = index / mRowCount;

It would be possible to limit it to a single division (eliminate the modulus operation) by replacing it with a multiplication and subtraction. I'm not sure if that is less costly; probably wouldn't matter in most situations:

int col = index / mRowCount;
int row = index - col * mRowCount;

Didn't really understand your setup but if you got a normal grid with a progressive index like in the Android GridLayout:

 +-------------------+
 | 0 | 1 | 2 | 3 | 4 |
 |---|---|---|---|---|
 | 5 | 6 | 7 | 8 | 9 | 
 |---|---|---|---|---|
 | 10| 11| 12| 13| 14|
 |---|---|---|---|---|
 | 15| 16| 17| 18| 19| 
 +-------------------+

The calculation is:

int col = index % colCount;
int row = index / colCount;

For example:

row of index 6 = 6 / 5 = 1
column of index 12 = 12 % 5 = 2