Flutter FutureBuilder güncellenmiyor
Sep 04 2020
Zaten benzer bir soru olduğunu biliyorum ama cevaplarından benimkini çözemedim. Bu yüzden, veriler yüklendiğinde güncellenmeyen bir FutureBuilder'ım var ve nedenini anlayamıyorum. Anladığım kadarıyla, 2 saniyelik gecikmeden sonra Widget'ın yeniden oluşturulması gerekiyor ("Veri Ulaştı" yazdırılmalıdır). Bu neden olmuyor?
import 'package:flutter/material.dart';
class NewQRPage extends StatefulWidget {
@override
_NewQRPageState createState() => _NewQRPageState();
}
class _NewQRPageState extends State<NewQRPage> {
Future link;
@override
void initState() {
link = getLink();
super.initState();
}
getLink() async{
Future.delayed(Duration(milliseconds: 2000),(){
print("Data Returned");
return "hello";
});
}
@override
Widget build(BuildContext context) {
return Container(
child: FutureBuilder(
future: link,
builder: (context, snapshot) {
if(snapshot.hasData){
print("Data Arrived");
return Text(snapshot.data);
}
else if(snapshot.hasError){
print("Error");
return Text("Error");
}
else {
print("No Data");
return Text("No Data");
}
},
),
);
}
}
Ve Konsol Çıkışı:
Performing hot restart...
Syncing files to device LYA L29...
Restarted application in 1.044ms.
I/flutter (22206): onStartCalled
I/flutter (22206): No Data
I/flutter (22206): No Data
I/flutter (22206): No Data
I/flutter (22206): Data Returned
Yanıtlar
2 Zeus Sep 04 2020 at 21:22
"Hello"Lamdana geri dönmemelisin yani(){}
Deneyin
Future<String> getLink() async{
await Future.delayed(Duration(milliseconds: 2000));
print("Data Returned");
return "hello";
}
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'