我可以在Flatter中向ListView添加尾随项吗?

我可以在Flatter中向ListView添加尾随项吗?,listview,flutter,Listview,Flutter,我想创建一个动态列表视图,最后一项是一个固定的“尾随”项,与动态列表无关 例如,此代码 class ListTest extends StatefulWidget { @override ListTestState createState() => ListTestState(); } class ListTestState extends State<ListTest> { var myList = ['Item1','Item2','Item3','Ite

我想创建一个动态列表视图,最后一项是一个固定的“尾随”项,与动态列表无关

例如,此代码

    class ListTest extends StatefulWidget {
@override
  ListTestState createState() => ListTestState();
}

class ListTestState extends State<ListTest> {
  var myList = ['Item1','Item2','Item3','Item4','Item5','Item6','Item7','Item8','Item9',
    'Item10','Item11','Item12','Item13','Item14','Item15','Item16','Item17','Item18','Item19'];
  @override
  Widget build(BuildContext context) {
    return Column(
        children: <Widget> [Expanded(
          child: ListView.builder(

              itemCount: myList?.length,
              itemBuilder: (BuildContext content, int index) {
                return ListTile(title: Text(myList[index], ) );
              },
          ),
        ),
          Text("Trailing item not related to the list"),

        ] );
  }
}
class ListTest扩展了StatefulWidget{
@凌驾
ListTestState createState()=>ListTestState();
}
类ListTestState扩展了状态{
var myList=['Item1'、'Item2'、'Item3'、'Item4'、'Item5'、'Item6'、'Item7'、'Item8'、'Item9',
“第10项”、“第11项”、“第12项”、“第13项”、“第14项”、“第15项”、“第16项”、“第17项”、“第18项”、“第19项”];
@凌驾
小部件构建(构建上下文){
返回列(
儿童:[扩大(
子项:ListView.builder(
itemCount:myList?长度,
itemBuilder:(构建上下文内容,int索引){
返回ListTile(标题:Text(myList[索引],));
},
),
),
文本(“与列表无关的尾随项”),
] );
}
}
生成此文件:-

我想要的是“与列表无关的尾随项”项显示为“Item20”

我也尝试过
ListView.separated
,但我也不能让它像我希望的那样工作


有人有什么想法吗?我的大脑冻结了

您可以这样做:

ListView.builder(
itemCount:myList?长度+1,
itemBuilder:(构建上下文内容,int索引){
if(index==myList.length){
返回文本(“与列表无关的尾随项”);
}
返回ListTile(标题:Text(myList[索引]);
},
),

它将检查您是否在列表的最后一项,并添加尾部的
小部件

您可以执行以下操作:

ListView.builder(
itemCount:myList?长度+1,
itemBuilder:(构建上下文内容,int索引){
if(index==myList.length){
返回文本(“与列表无关的尾随项”);
}
返回ListTile(标题:Text(myList[索引]);
},
),

它将检查您是否在列表的最后一项,并添加尾随的
小部件

以下是您要查找的内容

 class ListTest extends StatefulWidget {
@override
  ListTestState createState() => ListTestState();
}

class ListTestState extends State<ListTest> {
  var myList = ['Item1','Item2','Item3','Item4','Item5','Item6','Item7','Item8','Item9',
    'Item10','Item11','Item12','Item13','Item14','Item15','Item16','Item17','Item18','Item19'];
  @override
  Widget build(BuildContext context) {
    return Column(
        children: <Widget> [Expanded(
          child: ListView.builder(

              itemCount: myList?.length,
              itemBuilder: (BuildContext content, int index) {
                return (index!=myList.length-1)?ListTile(title: Text(myList[index],):Container(/* The trailing widget you want to display*/) );
              },
          ),
        ),    
        ] );
  }
}
class ListTest扩展了StatefulWidget{
@凌驾
ListTestState createState()=>ListTestState();
}
类ListTestState扩展了状态{
var myList=['Item1'、'Item2'、'Item3'、'Item4'、'Item5'、'Item6'、'Item7'、'Item8'、'Item9',
“第10项”、“第11项”、“第12项”、“第13项”、“第14项”、“第15项”、“第16项”、“第17项”、“第18项”、“第19项”];
@凌驾
小部件构建(构建上下文){
返回列(
儿童:[扩大(
子项:ListView.builder(
itemCount:myList?长度,
itemBuilder:(构建上下文内容,int索引){
return(index!=myList.length-1)?ListTile(标题:Text(myList[index],):Container(/*要显示的尾部小部件*/);
},
),
),    
] );
}
}

以下是您要查找的内容

 class ListTest extends StatefulWidget {
@override
  ListTestState createState() => ListTestState();
}

class ListTestState extends State<ListTest> {
  var myList = ['Item1','Item2','Item3','Item4','Item5','Item6','Item7','Item8','Item9',
    'Item10','Item11','Item12','Item13','Item14','Item15','Item16','Item17','Item18','Item19'];
  @override
  Widget build(BuildContext context) {
    return Column(
        children: <Widget> [Expanded(
          child: ListView.builder(

              itemCount: myList?.length,
              itemBuilder: (BuildContext content, int index) {
                return (index!=myList.length-1)?ListTile(title: Text(myList[index],):Container(/* The trailing widget you want to display*/) );
              },
          ),
        ),    
        ] );
  }
}
class ListTest扩展了StatefulWidget{
@凌驾
ListTestState createState()=>ListTestState();
}
类ListTestState扩展了状态{
var myList=['Item1'、'Item2'、'Item3'、'Item4'、'Item5'、'Item6'、'Item7'、'Item8'、'Item9',
“第10项”、“第11项”、“第12项”、“第13项”、“第14项”、“第15项”、“第16项”、“第17项”、“第18项”、“第19项”];
@凌驾
小部件构建(构建上下文){
返回列(
儿童:[扩大(
子项:ListView.builder(
itemCount:myList?长度,
itemBuilder:(构建上下文内容,int索引){
return(index!=myList.length-1)?ListTile(标题:Text(myList[index],):Container(/*要显示的尾部小部件*/);
},
),
),    
] );
}
}

谢谢您的回答。我的大脑肯定解冻了。我想得太多了。与Mohit下面的答案非常相似,但你们两人几乎同时发布。谢谢你的帮助谢谢你的回答。我的大脑肯定解冻了。我想得太多了。与Mohit下面的答案非常相似,但你们两人几乎同时发布。谢谢你的帮助谢谢你的回答。我的大脑肯定解冻了。我想得太多了。与上面Karim的答案非常相似,但你们两人几乎同时发布。谢谢你的帮助谢谢你的回答。我的大脑肯定解冻了。我想得太多了。与上面Karim的答案非常相似,但你们两人几乎同时发布。谢谢你的帮助