Ваша проблема в том, что вы на самом деле не клонируете каждый Cell
объект, когда делаете следующее (взято из примера кода из комментариев):
List<Cell> newlist = List<Cell>.from(items);
Вместо этого вы создаете новый List
содержит те же ссылки на Cell
объекты, что и в предыдущем списке элементов.
Чтобы создать копию Cell
объектов, вам необходимо реализовать метод клонирования, например:
class Cell {
int magicnum, x, y;
Cell(this.magicnum);
Cell.from(Cell cell)
: magicnum = cell.magicnum,
x = cell.x,
y = cell.y;
}
И выполните следующие действия, чтобы выполнить итерацию каждого элемента старого списка, создать новый объект Cell
для каждого элемента и преобразовать результат в новый список:
List<Cell> newlist = items.map((item) => Cell.from(item)).toList();