#flutter #listview #dart #flutter-layout #flutter-alertdialog
#flutter #listview #dart #flutter-макет #flutter-alertdialog
Вопрос:
Я хочу отобразить список элементов в диалоговом окне предупреждения для подтверждения платежа. но это не работает, я перепробовал много решений.
AlertDialog( titlePadding: EdgeInsets.all(0), contentPadding: EdgeInsets.symmetric(horizontal: 10, vertical: 0), title: Text("Heading"), content: ListView.builder( shrinkWrap: true, itemCount: items.length, itemBuilder: (ctx, i) { return getRowWidget(i); }), );
Комментарии:
1. Пожалуйста, скажите нам, что означает «это не работает». Вы получаете ошибки компилятора? Ошибки во время выполнения? Не похоже ли это на то, как вы хотите, чтобы это выглядело?
Ответ №1:
Это решит вашу проблему, добавьте Container
ширину.
showDialog(
context: context,
builder: (context) => AlertDialog(
titlePadding: EdgeInsets.all(0),
contentPadding: EdgeInsets.symmetric(horizontal: 10, vertical: 0),
title: Text("Heading"),
content: Container(
width: double.maxFinite,
child: ListView.builder(
shrinkWrap: true,
itemCount: items.length,
itemBuilder: (ctx, i) {
return Text(items[i].toString());
}),
),
),
);
Комментарии:
1. @Rohit Soni: удовлетворяет ли это вашим требованиям?
Ответ №2:
Используйте этот код.
showDialog(
context: context,
builder: (context) => AlertDialog(
titlePadding: EdgeInsets.all(0),
contentPadding:
EdgeInsets.symmetric(horizontal: 10, vertical: 0),
title: Text("Heading"),
content: Container(
height: 100,
child: ListView.builder(
shrinkWrap: true,
itemCount: 1,
itemBuilder: (ctx, i) {
return Text("text");
}),
),
),
);