我想创建一个动态列表视图,最后一个项目是与动态列表无关的固定“跟踪”项目。
例如此代码
x -- x -- O -- y -- z <--(master)
\
ABC <--(foo)
生成了:-
我想要的是“与列表无关的跟踪项”项,好像它是“ Item20”一样!!
我也尝试过 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"),
] );
}
}
,但我也无法按照我的意愿进行。
有人有什么想法吗?我的大脑冻结了。
答案 0 :(得分:1)
您可以执行以下操作:
ListView.builder(
itemCount: myList?.length + 1,
itemBuilder: (BuildContext content, int index) {
if(index == myList.length){
return Text("Trailing item not related to the list");
}
return ListTile(title: Text(myList[index]));
},
),
它将检查您是否在列表的最后一项,并添加结尾的Widget
答案 1 :(得分:1)
这就是您要寻找的
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*/) );
},
),
),
] );
}
}