У меня есть это дерево виджетов:
Scaffold
AppBar
Column
Center
SingleChildScrollView
FutureBuilder
Container
Flex
direction: Axis.vertical,
children: <Widget>[
Row(),
.....
UserCommentsWidget(id)
]
В UserCommentsWidget
я использую будущий конструктор для загрузки данных из веб-службы и отображения списка:
Widget build(BuildContext context) {
return FutureBuilder<UserCommentModel>(
future: _userCommentsFuture,
builder: (ctx, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
return Center(
child: CircularProgressIndicator(),
);
} else if (!snapshot.hasError && snapshot.hasData) {
return snapshot.data.data.list.length != 0
? Column(
children: <Widget>[
Row(),
Container(
ListView.builder(
itemCount: snapshot.data.list.length,
itemBuilder: (ctx, index) {
return
commentItems(snapshot.data.data.list[index]);
}),
)
],
)
Но Я получил эту ошибку:
════════ Exception caught by rendering library ═════════════════════════════════════════════════════
RenderBox was not laid out: RenderFlex#c406c relayoutBoundary=up15 NEEDS-PAINT NEEDS-COMPOSITING-BITS-UPDATE
'package:flutter/src/rendering/box.dart':
Failed assertion: line 1694 pos 12: 'hasSize'
Я поместил Listview в Expanded , но у меня такая же ошибка, как я могу заполнить оставшееся место с помощью listview?