我认为问题是由下面的函数引起的,这个函数应该改变function.How的背景,我能解决这个问题吗?
_decidebg(){
if(_counter==0){
return AssetImage("assets/1.jpg");
}
else if(_counter<3){
return AssetImage("assets/2.jpg");
}
else if(_counter<=6){
return AssetImage("assets/3.jpg");
}
else{
return AssetImage("assets/4.jpeg");
}
}
发布于 2020-05-05 14:36:03
出现问题的原因是,您在从磁盘读取数据后派生了该值。从磁盘中读取数据需要几毫秒。此时,变量_counter的值仍然为空,然后显示红色屏幕。
要解决这个问题,可以用值-1 (或逻辑中的任何值)初始化_counter。并将赋值包装在setState()中。所以,就像这样:
发自:
_counter = await _______ ;
至:
int _counter = -1;
...
...
setState() => _counter = await _______ ;
发布于 2020-05-05 14:23:12
因为变量_counter
为null
,所以会出现错误。
您可以通过为_counter
变量指定一个默认值来解决此问题。
我希望这能解决问题。你的问题。
https://stackoverflow.com/questions/61615140
复制