dart - Flutter:滚动时ExpansionTile强制关闭

标签 dart flutter

一旦 ExpansionTile 检测到滚动行为即强制关闭,即我立即滚动页面...我想保持 ExpansionTile 打开,直到我点击它的标题。

可能是什么原因?

expansionTile force loses

最佳答案

ExpansionTile 立即关闭的原因是当您滚动浏览 listview 时,尤其是使用 ListView.builder 创建的列表再次重建,所以如果你想保留某个 ExpansionTile 的状态,你应该将它的状态值从你的 build 函数中保存下来,并使用 initiallyExpanded属性:

   List<bool> status = <bool>[] ; //store the statuses of your tiles here

   ExpansionTile(
    title: Text('Item'),
    backgroundColor: Colors.transparent,
    initiallyExpanded: status[index],
   ),

关于dart - Flutter:滚动时ExpansionTile强制关闭,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55012712/

相关文章:

dart - 带有/不带有关键字 `new`的Dart工厂构造函数,有什么区别?

json - 像Web on Dart上的JSON Stringify

flutter - 如何将列表<dynamic>转换为列表<Map>>>

html - 如何显示 Dart :html file image in Flutter web?

android - Flutter/Firebase 项目 - `Unhandled Exception: Null check operator used on a null value` 是否导致黑屏?

dart - 在 Dart 中定义一个接受参数的 getter

firebase - 如何从Firestore子集合中获取数据

flutter - 将 "Instance of QueryRow"转换为列表或映射

dart - 为什么这个回调在这个 dart 方法中显示为 null

listview - flutter 。在非常大的 ListView 上设置 ListView 初始位置