Мне было интересно, как вы можете получить соседний элемент в макете сетки? В настоящее время работает над функцией, которая может определять соседние элементы по позиции. Я вычитаю позицию за вычетом столбцов, и очевидно, что это становится сложнее, когда я нахожусь по бокам и углам. Это может быть слишком много, но единственный вариант, о котором я могу думать сейчас, есть ли более простой способ? Я могу получить позиции из события касания, и матрица с позициями выглядит так.
1 2 3 4
5 6 7 8
9 10 11 12
Ответ снизу
boolean isedgeitem(int position)
{
int row = position % 11;
int column = position / 11;
int numberedges = 0;
for (int rowOffset = -1; rowOffset <= 1; rowOffset++)
{
final int actRow = row + rowOffset;
for (int columnOffset = -1; columnOffset <= 1; columnOffset++)
{
final int actColumn = column + columnOffset;
if (actRow >= 0 && actRow < 11 && actColumn >= 0 && actColumn < 11)
{
numberedges++;
}
}
}
if (numberedges < 8)
{
return true;
}
else
{
return false;
}
}