参数类型"上下文"不能分配给参数类型"构建上下文".dartargument_type_not_assignable)



情况:

我在简单类中有一个函数(不是有状态或无状态的(,但该函数在有状态小部件的第一个屏幕中被调用,在函数内部,我使用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;
}

在另外两个屏幕上还有另外两个有状态的小部件,而在第一个屏幕中我调用了这个函数。

问题:

帮助我理解为什么会出现上述错误以及如何修复它?

让我们将上下文传递给函数以使其工作:

containerAdder(initialI, BuildContext context) { 
// Your all of the codes
}

现在,调用containerAdder,如:

objectName.containerAdder(intialI, context);

最新更新