我试图在listview.builder中嵌套ExpansionTileCard,但无法做到这一点--我得到了这个错误
错误
在performResize()期间抛出了以下断言:垂直视图被赋予无限高。
代码
ExpansionTileCard(
leading: GestureDetector(
onTap: (){
var firstdata = jsonResponse['content'];
code = firstdata[index]['code'];
},
child: ClipRRect(
borderRadius: BorderRadius.circular(10),
child: Image.asset('images/appicon.png', width: 50, height: 50)),
),
title: GestureDetector(
onTap: (){
var firstdata = jsonResponse['content'];
code = firstdata[index]['code'];
name = firstdata[index]['name'];
Navigator.push(context, MaterialPageRoute(builder: (context) =>PageViewClass(companycode: code,userid: widget.userid,)));
},
child: Column(
mainAxisAlignment: MainAxisAlignment.start,
crossAxisAlignment: CrossAxisAlignment.start,
children: [
Text(firstdata[index]['name'] ?? 'NULL PASSED'),
],
),
),
children: <Widget>[
Divider(
thickness: 1.0,
height: 1.0,
),
Align(
alignment: Alignment.center,
child: Padding(
padding: const EdgeInsets.symmetric(
horizontal: 16.0,
vertical: 8.0,
),
child:ListView.builder(
itemCount: list1.length,
itemBuilder: (BuildContext ctx, int index){
return Text(list1[index]['name']);
}
)
),
),
],
);ExpansionTileCard已经在父Listview.builder中使用。
请指导我解决这个问题。
发布于 2020-10-09 08:35:40
在Listview.builder中,您可以尝试保留shrinkWrap: true,而在列Widget中,您可以保留mainAxisSize = MainAxisSize.min,
两者结合在一起就能达到目的。
https://stackoverflow.com/questions/64276415
复制相似问题