【发布时间】:2020-12-03 23:52:27
【问题描述】:
情况:
我在简单类中有一个函数(非有状态或无状态),但该函数在有状态小部件的第一个屏幕中调用,在函数内部我使用Navigator.push 转到有状态小部件的第二个屏幕.
代码:
功能代码
containerAdder(initialI) {
List<Widget> listViewContainer = List();
for (var j = 0; j < mainListAllPlantDetailsList1.length; j++) {
if (tabsText[initialI] == mainListAllPlantDetailsList1[j].ca) {
listViewContainer.add(
FlatButton(
onPressed: () {
Navigator.push(
context, **(MENTIONED ERROR GIVES OVERHERE )**
MaterialPageRoute(builder: (context) => ParticularPlant2()),
);
},
child: Container(
height: 320,
width: 200,
child: Stack(
children: [
Positioned(
bottom: 10,
child: Container(
padding: EdgeInsets.fromLTRB(25, 50, 20, 20),
height: 150,
width: 180,
decoration: BoxDecoration(
color: Colors.lightGreen,
borderRadius: BorderRadiusDirectional.only(
bottomEnd: Radius.circular(70),
topEnd: Radius.circular(70),
topStart: Radius.circular(70),
),
),
child: Column(
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(mainListAllPlantDetailsList1[j].ca),
Text(mainListAllPlantDetailsList1[j].pN),
Text(mainListAllPlantDetailsList1[j].pr.toString()),
],
),
),
)
],
)),
),
);
} else {
continue;
}
}
return listViewContainer;
}
另外两个屏幕上还有另外两个有状态的小部件,而在第一个屏幕上我调用了这个函数。
问题:
帮助我了解为什么会出现上述错误以及如何解决?
【问题讨论】:
-
你是怎么调用函数的??
-
objectnameofclass.functionname();在另一个统计小部件屏幕中
-
为什么不在函数中传递上下文作为参数?你试过了吗?
-
是的,没用
-
阿曼,我已经发布了答案,请查看它...