它在其他设备上运行良好,但是当我切换到特定设备时,我创建的 future 方法不会在 futurebuilder 上执行
@override
Widget build(BuildContext context) {
if(_simCard.length>0){
return FutureBuilder<bool>(
future: checkID(_simCard),
builder: (context,snapshot){
if(snapshot.hasData){
print(snapshot.data);
if(snapshot.data){
//print(currentSimCard.number+"asdasdas");
flutterTts.stop();
// Navigator.push(
// context,
// MaterialPageRoute(builder: (context) => HomePage(currentSimCard)),
// );
return HomePage(currentSimCard);
}
else{
_container = intro();
return introBuild();
}
}
return Center(child: CircularProgressIndicator(),);
});
}
else return Center(child: CircularProgressIndicator(),);
}
Future<bool> checkID(List<SimCard> simcard) async {
for(int i = 0; i < simcard.length;i++){
final snapShot = await FirebaseFirestore.instance.collection('Users').doc(simcard[i].number).get();
if (snapShot.exists){
currentSimCard = simcard[i];
return true;
}
}
return false;
}
我知道这个方法不会被未来的构建器调用,因为当我打印数据时它会打印 null