Причина, по которой вы не можете сохранить ее в настройках даже после преобразования в список, заключается в том, что вы пытаетесь сохранить StringList
(prefs.setStringList
), тогда как ваш набор имеет тип WordPair
Обходным путем для этого может быть
prefs.setStringList('saved', _saved.map((WordPair wordPairItem) => wordPairItem.toString()).toList());
, т. Е. Преобразование каждого элемента в строку и сохранение его как StringList
К вашему последующему вопросу в комментариях:
как конвертировать из List<String>
в Set<WordPair>
в initState
?Так как .toWordPair()
нет, а завершение занимает 2 аргумента, поэтому Idk, как это сделать?
Согласно документации, WordPair
равно Representation of a combination of 2 words, first and second
.Таким образом, вы можете разбить строку на две подстроки и передать эти две подстроки в соответствующих позициях аргумента.
[Обновить] (решение, предложенное автором последующего вопроса)решение можно найти на здесь