Function 参数类型';上下文';can';不能分配给参数类型';BuildContext';。参数(类型不可分配) 情况:
我在简单类中有一个函数(不是有状态的或无状态的),但该函数在有状态小部件的第一个屏幕中调用,在我使用的Function 参数类型';上下文';can';不能分配给参数类型';BuildContext';。参数(类型不可分配) 情况:,function,flutter,build,Function,Flutter,Build,我在简单类中有一个函数(不是有状态的或无状态的),但该函数在有状态小部件的第一个屏幕中调用,在我使用的Navigator函数中。按转到有状态小部件的第二个屏幕 代码: 功能代码 containerAdder(initialI) { List<Widget> listViewContainer = List(); for (var j = 0; j < mainListAllPlantDetailsList1.length; j++) { if (t
Navigator函数中。按转到有状态小部件的第二个屏幕
代码:
功能代码
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(缩写i){
List listViewContainer=List();
对于(var j=0;jSpecialPlant2()),
);
},
子:容器(
身高:320,
宽度:200,
子:堆栈(
儿童:[
定位(
底部:10,
子:容器(
填充:来自LTRB(25,50,20,20)的边缘设置,
身高:150,
宽度:180,
装饰:盒子装饰(
颜色:颜色。浅绿色,
边界半径:仅限边界半径方向(
底端:半径。圆形(70),
顶端:半径。圆形(70),
上起点:半径。圆形(70),
),
),
子:列(
crossAxisAlignment:crossAxisAlignment.start,
儿童:[
Text(mainListAllPlantDetailsList1[j].ca),
Text(mainListAllPlantDetailsList1[j].pN),
Text(mainListAllPlantDetailsList1[j].pr.toString()),
],
),
),
)
],
)),
),
);
}否则{
继续;
}
}
返回listViewContainer;
}
在另外两个屏幕上还有另外两个有状态的小部件,而在第一个屏幕中我调用了这个函数
问题:
请帮助我了解出现上述错误的原因以及如何修复它?让我们将上下文传递给您的函数以使其正常工作:
containerAdder(initialI, BuildContext context) {
// Your all of the codes
}
现在,调用containerAdder,如下所示:
objectName.containerAdder(intialI, context);
如何调用函数??objectnameofclass.functionname();在Stative Widget的另一个屏幕中,为什么不在函数中传递上下文作为参数?你试过了吗?是的,没用阿曼,我已经发布了答案,请检查一下…它有效了,谢谢,为什么会发生这种错误?因为正如你所说,这是正常的课程。。。它对上下文一无所知。你可以说是纯粹的飞镖。当我们将有状态小部件的上下文作为参数传递时,它现在将context
作为类BuildContext
的对象。它可以像预期的那样前进。。。