Flutter 颤振:如何在IndexedListView生成器中设置itemCount长度

Flutter 颤振:如何在IndexedListView生成器中设置itemCount长度,flutter,listview,dart,scroll,builder,Flutter,Listview,Dart,Scroll,Builder,我试图在列表视图中通过索引号滚动到特定索引。我过去常将ListView生成器从索引中删除。但我在“itemCount:myData.length”中出错,因此无法在ListView中使用修复排列 class MyHomePage extends StatelessWidget { static IndexedScrollController controller = IndexedScrollController(initialIndex: 0); @override Widget

我试图在列表视图中通过索引号滚动到特定索引。我过去常将ListView生成器从索引中删除。但我在“itemCount:myData.length”中出错,因此无法在ListView中使用修复排列

class MyHomePage extends StatelessWidget {

static IndexedScrollController controller =
  IndexedScrollController(initialIndex: 0);

@override
  Widget build(BuildContext context) {

return Scaffold(
  body: Column(
    children: [
      Expanded(
        child: IndexedListView.builder(
          controller: controller,
          itemBuilder: (BuildContext context, int index) {
            return Card(
              child: Container(
                height: 500,
                child: Center(child: Text('ITEM $index')),),);},),),
      Container(height: 3.0, color: Colors.black),
      Container(
        color: Colors.grey[800],
        child: Column(
          children: <Widget>[
            GestureDetector(onTap: () {controller.jumpToIndex(5);},
              child: Container(
                color: Colors.green,
                width: MediaQuery.of(context).size.width,
                height: 100,
                child: Center(child: Text("Button to go to An specific index", style: TextStyle(color: Colors.white)),),),)],),),],),);}
   }
class MyHomePage扩展了无状态小部件{
静态索引croll控制器=
IndexedScrollController(初始索引:0);
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:专栏(
儿童:[
扩大(
子项:IndexedListView.builder(
控制器:控制器,
itemBuilder:(构建上下文,int索引){
回程卡(
子:容器(
身高:500,
child:Center(child:Text('ITEM$index')),,),;},,),,),
容器(高度:3.0,颜色:颜色。黑色),
容器(
颜色:颜色。灰色[800],
子:列(
儿童:[
手势检测器(onTap:(){控制器.跳转索引(5);},
子:容器(
颜色:颜色。绿色,
宽度:MediaQuery.of(context).size.width,
身高:100,
child:Center(child:Text(“转到特定索引的按钮”),style:TextStyle(color:Colors.white)),),),),,),,),,,),,,,),,,,),;}
}

您可以通过在
ListView.builder中添加
itemCount=your\u list\u length.length
来完成此操作

       child: ListView.builder(
          controller: controller,
          itemCount = your_list_length.length
          itemBuilder: (BuildContext context, int index) {
            return Card(
              child: Container(
                height: 500,
                child: Center(child:

ps:回答使用
列表视图
,如果使用
索引列表视图
这是一个简单的
列表视图。生成器
工作代码,请尝试

 Widget _ExampleListView(BuildContext context) {
    return ListView.builder(
        padding: EdgeInsets.symmetric(vertical: 10.0),
        itemCount: yourLength.length,
        itemBuilder: (context, index) {
          return GestureDetector(
            behavior: HitTestBehavior.opaque,
            onTap: () {
              //what you want to do when tapping on each list
              // tap each column to see the index
              print(index);
            },
            child: Column(
              children: [
                Container(
                  padding: EdgeInsets.all(10),
                  child: Column(
                    children: [
                      Row(
                        mainAxisAlignment: MainAxisAlignment.spaceBetween,
                        crossAxisAlignment: CrossAxisAlignment.start,
                        children: [
                          Text('text1'),
                          Text('text2'),
                        ],
                      ),
                    ],
                  ),
                ),
              ],
            ),
          );
        },
    );
  }


请您详细解释一下,或者共享代码好吗?@RajuGupta请重新检查我的问题。我添加了完整的代码。谢谢。@RajuGupta hello friendError:没有名为“itemCount”的命名参数。itemCount:myData.length,@EmmaScarlett尝试使用
ListView
而不是
IndexedListView
我曾经根据您发布的,
如果要以编程方式移动列表,必须创建IndexedScrollController类型的滚动控制器,并将其传递到列表构造函数中。但是,如果您只需要一个没有跳转的无限列表,那么甚至不需要创建控制器。
不需要设置itemCount,除非您使用的是ListView,请提供更多详细信息,因为我是新来的