Я попытался добавить объект TextField в список, но у меня возникла ошибка "Тип аргумента "PlayerItem" не может быть назначен типу параметра "TextField".
Я создал список TextField (_playerList
):
List<TextField> _playerList = new List();
Я создал класс для создания объекта TextField:
class PlayerItem extends StatelessWidget {
//constructor
PlayerItem();
@override
Widget build(BuildContext context) {
return TextField(
decoration: InputDecoration(
prefixIcon: const Icon(Icons.person),
hintText: "Player",
counterText: "",
),
);
}
}
Когда я пытаюсь добавить элемент в список, у меня возникает ошибка:
_playerList.add(new PlayerItem()),
Это ожидаемая ошибка типа.
Вы объявили свой список как List<TextField>
и пытаетесь вставить PlayerItem
.
Следствием этого является то, что вы должны ввести свой список, используя PlayerItem
:
List<PlayerItem> _playerList = <PlayerItem>[];
В качестве альтернативы вы также можете использовать более общий тип, то есть супертип как TextField
, так и PlayerItem
, который может быть, например, Widget
:
List<Widget> _playerList = <Widget>[];
Преобразуйте тип списка в
List<PlayerItem>
.