Например, у меня в списке отображается 4 items
, скажем, (A, B, C, D)
=> с позицией (0,1,2,3)
Затем я удалил 3 items
, запросив choices.removeWhere ((item) => item.title == data.type);
это для (A, B, C)
а затем в списке означает только отображение 1 item
, а именно A
.
Затем я добавляю элементы обратно с запросом choices.add (Choice (title:" A "));
до C
.
Теперь результаты в список при добавлении: (D, A, B, C)
.
Вопрос: Как вы думаете, мы сможем сохранить позицию, даже если мы выполним команды add
и remove
, чтобы моча оставалась неподвижной (A, B, C, D)
?
Это моя модель и список:
class Choice {
const Choice({this.title, this.index});
final String title;
final int index;
}
List<Choice> choices = <Choice>[
Choice(
title: A,
index: 0,
),
Choice(
title: B,
index: 1,
),
Choice(
title: C,
index: 2,
),
Choice(
title: D,
index: 3,
),
];