Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/list/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何基于list.lenght限制小部件生成_List_Flutter_For Loop_Widget_Limit - Fatal编程技术网

如何基于list.lenght限制小部件生成

如何基于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.bulder,其中我返回_buildQuestionWidgets作为页面,其中我每页生成3个新的小部件。 这些小部件只是保存问题[]列表中的一些文本

 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
                            : '') 
                    ),
              ],
            ),
          ));   
  }