Flutter bagaimana saya bisa menyembunyikan atau menutup indikator Circularprogress [duplikat]
Dec 18 2020
Saya hanya mengambil beberapa data dari API yang saya butuhkan adalah menampilkan loader sampai API dimuat. Masalahnya adalah loader berfungsi dengan baik tetapi saya tidak tahu bagaimana cara menutupnya.
Kode saya
Future<http.Response> _trySubmit3() async {
final isValid2 = _formKey3.currentState.validate();
FocusScope.of(context).unfocus();
if (isValid2) {
showDialog(
context: context,
builder: (BuildContext context) {
return Center(child: CircularProgressIndicator(
valueColor: new AlwaysStoppedAnimation<Color>(Color(0xff00abb5)),
),);
});
print(smsOTP.text);
print(userConfirmPassword.text);
var url = '123/set_password.php?email=${userEmail.text}&password=${userConfirmPassword.text}';
print(url);
http.Response res = await http.get(url,
headers: <String, String>{
'token': 'my token'
},
);
var data = json.decode(res.body.toString());
print(data);
print(data['status']);
if(data['status'].toString() == "success"){
// I need to close the loader here
}
}
Jawaban
UmaizKhan Dec 18 2020 at 19:02
Selamat datang di Stackoverflow :)
Anda dapat melakukan ini dengan trik ini Navigator.pop (konteks). Saya pikir Anda perlu bersembunyi ketika sukses jika kondisi Anda dapat melakukan seperti ini
if(data['status'].toString() == "success"){
Navigator.pop(context)
}
StefanoA. Dec 18 2020 at 19:00
Jika Anda ingin menutup Dialog
yang berisi CircularProgressIndicator
, segera setelah semua operasi selesai, Anda dapat menggunakan kode berikut:
Navigator.pop(context);
Yang, diimplementasikan dalam contoh Anda, akan terlihat seperti:
Future<http.Response> _trySubmit3() async {
final isValid2 = _formKey3.currentState.validate();
FocusScope.of(context).unfocus();
if (isValid2) {
showDialog(
context: context,
builder: (BuildContext context) {
return Center(child: CircularProgressIndicator(
valueColor: new AlwaysStoppedAnimation<Color>(Color(0xff00abb5)),
),);
});
print(smsOTP.text);
print(userConfirmPassword.text);
var url = '123/set_password.php?email=${userEmail.text}&password=${userConfirmPassword.text}';
print(url);
http.Response res = await http.get(url,
headers: <String, String>{
'token': 'my token'
},
);
var data = json.decode(res.body.toString());
print(data);
print(data['status']);
if(data['status'].toString() == "success"){
Navigator.pop(context); // closing the Dialog with the CircularProgressIndicator
}
}
}
Kiat Pemilik Anjing yang Bermanfaat: Mengapa Penting untuk Membiarkan Anjing Anda Mengendus di Jalan
Jana Duggar: Semua yang Dia Katakan Tentang Cinta dan Jendela 5 Tahunnya untuk Menemukan 'Yang Satu'