我的productDetailSize列表中有2个对象,我想在AlertDialog的小部件中显示它,但是我有这个问题,并且在顶部(方法'copyWith'在null上被调用。接收者:null尝试调用:copyWith(maxWidth:Infinity)),
有什么解决方法吗?
Expanded(
child: Padding(
padding: const EdgeInsets.all(2.0),
child: MaterialButton(
onPressed: (){
print(widget.productDetailSize.length);
showDialog(
context: context,
builder: (BuildContext context){
return AlertDialog(
contentPadding: EdgeInsets.all(10.0),
titlePadding: EdgeInsets.all(2.0),
title: Text('Size'),
content: Container(
padding: EdgeInsets.only(left:5.0, right:5.0),
width: double.infinity,
child: ListView.builder(
scrollDirection: Axis.vertical,
itemCount: widget.productDetailSize.length,
itemBuilder: (BuildContext context, int index){
return ListTile(
leading: Checkbox(value: selectedSizes.contains(widget.productDetailSize[index].toString()), onChanged: (value)=>changeSelectedSize(widget.productDetailSize[index].toString()),),
title: Text(widget.productDetailSize[index].toString()),
);
},
shrinkWrap: true,
),
),
backgroundColor: Colors.white,
shape: RoundedRectangleBorder(
side: BorderSide.none,
borderRadius: BorderRadius.circular(5.0),
),
actions: <Widget>[
MaterialButton(
onPressed: (){Navigator.of(context).pop();},
child: Text('close'),
)
],
);
}
);
},
elevation: 0.2,
color: Colors.white,
textColor: Colors.grey,
child: Row(
children: <Widget>[
Expanded(child: Text('Size'),),
Expanded(child: Icon(Icons.arrow_drop_down),),
],
),
),
),
),
我找到了解决方案,朋友们。 ListView.builder
必须用Container
小部件包装,并为Container
赋予width