тип «Список» не является подтипом типа » Список» «результата функции», где

#flutter #dart

Вопрос:

Я пытаюсь сопоставить объекты с реальными виджетами, но продолжаю получать эту ошибку

 type 'Listlt;Todogt;' is not a subtype of type 'Listlt;Todogt;' of 'function result' where  Todo is from package:todoapp/view/main_page.dart  Todo is from package:todoapp/dto/todo.dart  

Элемент задач-это простой класс(todo.dart)

 const Todo({required this.id, required this.name, required this.isDone});   final int id;  final String name;  final bool isDone; }  

и вот функция отображения

 Listlt;Widgetgt; getTodoListItems(Listlt;Todogt; todos) {  return todos.map((todo) {  return TodoListItem(todo: todo);  }).toList();  }  

Представление списка инициализируется следующим образом

 ...  ListView(children: getTodoListItems(todos))  ...   

Когда я перемещаю содержимое todo.dart в файл с помощью виджета, все работает нормально, но это не совсем подходящее решение для меня, потому что этот класс является общим для разных виджетов.

Может кто-нибудь, пожалуйста, объяснить мне, что здесь происходит? По-видимому, это тот же объект, следовательно, того же типа, или, по крайней мере, так выглядит

Правка: Есть много вопросов, похожих на этот, но они имеют разные типы, что, по крайней мере, имеет смысл

Комментарии:

1. похоже, что в вашем приложении есть два класса задач, и у вас возникают конфликты имен с ними

2. Это то, что я подумал сначала. Но Нет. Это единственный класс задач в проекте

3. даже нет виджета без состояния с сохранением состояния под названием todo inside view/main_page? если так, то я ничего не понимаю, извините

4. Ну, он используется в разных виджетах(как с полным состоянием, так и без состояния), но сам класс объявлен в отдельном файле

Ответ №1:

Ладно, это было глупо, но, похоже, флаттер что-то спрятал. Перезапуск проекта и переустановка приложения помогли