我还是很陌生,我想创建一个注释列表部分,其中子注释可以嵌套在父注释中。
我所做的是在动态ListView中创建一个ListView,在这种情况下,我使用了一个第三方库PagewiseListView进行延迟加载。但是在构建列表时出现了一些错误。
@override
Widget build(BuildContext context) {
return Scaffold(
body: pageWiseBuilder(context, _story.kids ?? [], PAGE_SIZE),
);
}
Widget pageWiseBuilder(BuildContext context, List<int> list, int pageSize) {
if (list != null && list.length > 0) {
return PagewiseListView(
padding: EdgeInsets.all(15.0),
pageSize: pageSize,
itemBuilder: this.itemBuilder,
pageFuture: (pageIndex) =>
_repository.fetchComments(list, pageIndex * pageSize, pageSize),
);
} else {
return Container();
}
}
Widget itemBuilder(BuildContext context, Comment entry, int index) {
return Column(
children: <Widget>[
ListTile(
title: Text(entry.by ??= ""),
subtitle: Html(
data: unescape.convert(entry.text ??= ""),
useRichText: true,
onLinkTap: (url) {
_launchURL(url);
},
showImages: true,
renderNewlines: true,
),
),
Divider(),
Column(
mainAxisSize: MainAxisSize.min,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
Expanded(
child: SizedBox(height: 200.0,
child: ListView.builder(
physics: ClampingScrollPhysics(),
shrinkWrap: true,
itemCount: 5,
itemBuilder: (context, index) {
return Padding(
padding: EdgeInsets.only(top: 8.0),
child: Text('Nested list item $index'),
);
},
),
),
),
],
),
],
);
}
I / flutter(885):引发了另一个异常:RenderFlex子级 弹性值非零,但传入的高度限制不受限制。
I / flutter(885):引发了另一个异常:RenderBox不是 布置:RenderFlex#a1031 relayoutBoundary = up6 NEEDS-PAINT 需求组成位更新
I / flutter(885):引发了另一个异常:RenderBox不是 布置:RenderFlex#11980 relayoutBoundary = up5 NEEDS-PAINT 需求组成位更新
I / flutter(885):引发了另一个异常:RenderFlex子级 弹性值非零,但传入的高度限制不受限制。
I / flutter(885):引发了另一个异常:RenderBox不是 布置:RenderFlex#a33b5 relayoutBoundary = up6 NEEDS-PAINT 需求组成位更新
I / flutter(885):引发了另一个异常:RenderBox不是 布置:RenderFlex#48c2a relayoutBoundary = up5 NEEDS-PAINT 需求组成位更新
I / flutter(885):引发了另一个异常:RenderBox不是 布置:RenderRepaintBoundary#d6726 relayoutBoundary = up4 NEEDS-PAINT 需求组成位更新
I / flutter(885):引发了另一个异常: 'package:flutter / src / rendering / sliver_multi_box_adaptor.dart':失败 断言:549行pos 12:'child.hasSize':不正确。
I / flutter(885):引发了另一个异常:NoSuchMethodError: 方法'>'在null上调用。
I / flutter(885):引发了另一个异常: 'package:flutter / src / rendering / sliver_multi_box_adaptor.dart':失败 断言:549行pos 12:'child.hasSize':不正确。
答案 0 :(得分:1)
您的ListView必须包装有至少具有高度的Widget。
Container(
height: 100,
child: ListView(
scrollDirection: Axis.horizontal,
children: <Widget>[],
),
),
答案 1 :(得分:0)
@MarianoZorrilla在删除Expanded和SizedBox小部件时是正确的。我不知道为什么以前不起作用。也许只是疲劳。
答案 2 :(得分:0)
我认为您需要删除代码中的所有Flexible,它对我有用。