问题描述:在AlertDialog中使用ListView.builder时,发现ListView.builder不起作用。
解决方法:
showDialog(
context: context,
builder: (BuildContext context) {
return AlertDialog(
title: Text("Title"),
content: Container(
width: double.maxFinite,
child: ListView.builder(
itemCount: data.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(data[index]),
);
},
),
),
);
},
);
List data = ["Item 1", "Item 2", "Item 3"];
AlertDialog(
title: Text("Title"),
content: Container(
width: double.maxFinite,
height: 300, // 设置内容区域的高度
child: ListView.builder(
// ...
),
),
),
class MyDialog extends StatefulWidget {
@override
_MyDialogState createState() => _MyDialogState();
}
class _MyDialogState extends State {
List data = ["Item 1", "Item 2", "Item 3"];
@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text("Title"),
content: Container(
width: double.maxFinite,
child: ListView.builder(
itemCount: data.length,
itemBuilder: (BuildContext context, int index) {
return ListTile(
title: Text(data[index]),
);
},
),
),
);
}
}
使用以上方法,应该能够解决AlertDialog中ListView.builder不起作用的问题。如果问题仍然存在,可能是其他因素导致的,可以进一步检查代码和调试。