我有一个ExpansionTile列表,抽屉里有一个ListTile列表。我想实现的是,当我按下一个ExpansionTile时,另一个ExpansionTile必须折叠。我已经被这个问题困扰了两天,找不到答案。有人知道如何通过编程来折叠ExpansionTile吗?
- 注:**
我不想弄乱小部件的动画。
这是我的代码
ListView.builder(
itemCount: userList.length,
shrinkWrap: true,
itemBuilder: (BuildContext context, findex) {
return ExpansionTile(
key: Key(findex.toString()),
title: Text(userList[findex].parentdata[0].title,
style: TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold,color: Colors.black),
),
onExpansionChanged: (value) {
},
children: [
ListView.builder(
itemCount: userList[findex].document.length,
shrinkWrap: true,
itemBuilder: (BuildContext context, sindex) {
return ListTile(
title: Text(
userList[findex].document[sindex].title,
style: TextStyle(fontSize: 15.0, fontWeight: FontWeight.bold,color: Colors.black),
),
onTap: () {
print(
userList[findex].document[sindex].title);
},
);
},
),
],
);
},
),
4条答案
按热度按时间n3h0vuf21#
使用
ExpansionPanel
小工具。您需要创建一个变量并保持扩展面板索引的扩展状态。
Here is an live demo for expansion panel
t0ybt7op2#
试试这个:
创建变量:第一个月
和
listview
:fdbelqdn3#
尝试以下代码
声明一个int变量
您的小工具
wn9m85ua4#
确保ExpansionTile位于有状态微件中
//扩展平铺窗口小部件