这是我的代码,我不知道如何将此listOfTiles
传递给我的StatefulWidget
,您能帮我描述一下它的工作原理吗?
body: new ListView.builder(
itemBuilder: (BuildContext context, int index) {
return new StuffInTilesState(listOfTiles[index]);//i want to pass this
},
itemCount: listOfTiles.length,
),
),
);
}
}
class StuffInTiles extends StatefulWidget{
@override
StuffInTilesState createState() => StuffInTilesState();//i know i need to change this, but i dont know how
}
class StuffInTilesState extends State<StuffInTiles> {
final MyTile myTile;
StuffInTilesState(this.myTile);//this is constructor, shuld this also be changed?
final _controller = TextEditingController();
String name = "";
如果您想查看我的工作代码:https://pastebin.pl/view/c4dbc2af如果您想看到我的工作代码:https://pastebin.pl/view/83f9cad0(https://codeshare.io/GLLm66)
答案 0 :(得分:0)
您需要使用窗口小部件类的构造函数,而不是状态类。 您可以使用 widget.YouProperty
访问状态类中的值class StuffInTiles extends StatefulWidget {
final MyTile myTile;
const StuffInTiles(this.myTile);
@override
_StuffInTilesState createState() => _StuffInTilesState();
}
class _StuffInTilesState extends State<StuffInTiles> {
@override
Widget build(BuildContext context) {
return Container(child:
Text(widget.myTile),);
}
}