假设我有一个网格,我知道它的行数(固定数量),并且我知道当前列数的计数(可以任意增加),如何从其索引计算出方块所在的行和列?
+ + + + +
Cols ---> | 0 | 1 | 2 | 3 | ...
+--+---|---|---|---|---
0 | 0 | 3 | 6 | 9 | ...
+--+---|---|---|---|---
Rows 1 | 1 | 4 | 7 | A | ...
+--+---|---|---|---|---
2 | 2 | 5 | 8 | B | ...
+--+---|---|---|---|---
. . . . . ...
. . . . . .
. . . . . .
因此,假设给定:
final int mRowCount = /* something */;
int mColCount;
并且给定一个函数:
private void func(int index) {
int row = index % mRowCount;
int col = ???
我应该如何正确计算col
?我相信它必须是列数和行数的函数,但我的思维不够清晰。
示例:如果index == 4
,则row=1
,col=1
。如果index == 2
,则row=2
,col=0
。
谢谢。
1, 2, 3
,而第2页将显示行4
。我希望int row = ....
公式能够返回15..19
中的行号为1
。 - tig