如何解决启动应用程序时在 CupertinoPicker 中初始化列表 (initState) (flutter)
当我开始调试应用程序(单击运行)时,Cupertinopicker 运行良好,但是当我重新启动应用程序(不是调试,关闭应用程序,然后在我的设备上打开它)时,Cupertino 没有显示任何内容,即使是列表初始化成功。 SharedPrefences 在 initState 函数中初始化的列表。可能是什么原因?
List<Widget> modelBuilder<M>(
List<M> models,Widget Function(int index,M model) builder) =>
models
.asMap()
.map<int,Widget>(
(index,model) => MapEntry(index,builder(index,model)))
.values
.toList();
Widget buildChosenExeOrRestPicker() => SizedBox(
height: 170,child: Cupertinopicker(
scrollController: ctrl,magnification: 1.3,useMagnifier: true,itemExtent: 45,diameterRatio: 1.1,looping: false,onselecteditemchanged: (index){
setState((){
this.indexOfExeOrRest = index;
if (timeCounters[indexOfExeOrRest] ==
timerCountersToInitilalize[indexOfExeOrRest]) {
visibleRefresh = false;
} else {
visibleRefresh = true;
}
});
},selectionOverlay: CupertinopickerDefaultSelectionOverlay(
background: (pickerExeOrRest.length > 0)
? Colors.cyanAccent.withOpacity(0.12)
: Colors.transparent,),children: modelBuilder<PickerExeOrRest>(
pickerExeOrRest,(index,value) {
final isSelected = this.indexOfExeOrRest == index;
final color = isSelected ? Colors.pink : Colors.black;
return Center(
child: Text(
'${value.time + ',' + value.name}',style: TextStyle(
color: color.withOpacity(opacityCupertino),fontSize: 24),);
},);
列表(pickerExeOrRest)从 initState 方法中的 SharedPrefences 获取数据。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。