如何基于list.lenght限制小部件生成
我有一个PageView.bulder,其中我返回_buildQuestionWidgets作为页面,其中我每页生成3个新的小部件。 这些小部件只是保存问题[]列表中的一些文本如何基于list.lenght限制小部件生成,list,flutter,for-loop,widget,limit,List,Flutter,For Loop,Widget,Limit,我有一个PageView.bulder,其中我返回_buildQuestionWidgets作为页面,其中我每页生成3个新的小部件。 这些小部件只是保存问题[]列表中的一些文本 PageView.builder( controller: _pageController, onPageChanged: _onPageChanged,
PageView.builder(
controller: _pageController,
onPageChanged: _onPageChanged,
itemCount:
(questions.length / _numEntriesPerPage).ceil(),
itemBuilder: (BuildContext context, int pageIndex) {
return _buildQuestionWidgets(pageIndex);
},
),
Widget _buildQuestionWidgets(pageIndex) {
indexBaseline = pageIndex * _numEntriesPerPage;
return Padding(
padding: const EdgeInsets.all(3.0),
child: Column(
mainAxisAlignment: MainAxisAlignment.spaceEvenly,
children: [
for (var i = 0; i < _numEntriesPerPage && i < questions.length; i++)
_question(indexBaseline! + i)
],
),
);
}
Widget _question(indexBaseline) {
return
child: Container(
child: Padding(
padding: const EdgeInsets.all(8.0),
child: Column(
children: [
RichText(
maxLines: 1,
text: TextSpan(
style: DefaultTextStyle.of(context).style,
children: [
TextSpan(
text: questions.length > indexBaseline
? questions[indexBaseline].user.userName
: 'No ',
style: TextStyle(
fontSize: 14, fontWeight: FontWeight.bold)),
TextSpan(
text: questions.length > indexBaseline
? " asked "
: 'more '),
TextSpan(
text: questions.length > indexBaseline
? _timeAgo(indexBaseline)
: 'Questions'),
])),
Text(_questionCharLenght(
128,
questions.length > indexBaseline
? questions[indexBaseline].title
: '')
),
],
),
));
}