1、问题
多层选择,当我通过tabbar回退时,报错 找了原因,在构建listView时,通过遍历生成几个一样的tabView._tabController重建时,好像不是从0重建,当当前页的数据长度,大于原页面的数据长度时,报错了.不知道什么原因,为什么不重新开始. 想了下,是不是在生成listView时就根据实际数据生成不一样的tabView
List<Widget> _buildPages() {
List<Widget> pages = [];
for (var i = 0; i < _tabs.length; i++) {
pages.add(page(i, i));
}
return pages;
}
Widget page(int datasIndex, int tabpos) {
return ListView.builder(
padding: EdgeInsets.only(top: 15),
itemCount: datas[datasIndex].length,
itemBuilder: (BuildContext context, index) {
return _getListItem(index, tabpos);
},
physics: new BouncingScrollPhysics(),
shrinkWrap: true,
);
}
Widget _getListItem(int index, int tabpos) {
MultiPickData children = datas[tabpos][index];
return GestureDetector(
|