Merhabalar. Herkese iyi çalışmalar.
Flutter ile oluşturduğum bi webview uygulamasında interneti kapattığımda doğal olarak web sayfasını yükleyemiyor ve şöyle bir hata ekranı veriyor.
Bu ekranın kullanıcıya görünmemesini veya kendi hata ekranımızın görünmesini nasıl sağlayabiliriz? Kullanıcı bu ekranı hiçbir şekilde görmemeli.
Flutter Webview Sorunu
- Edited
karakartal En basit şekilde
bool hasError = false;
tanımlayıp
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
title: const Text('Flutter WebView example'),
backgroundColor: appBarColor,
),
body: hasError? Center(
child: Padding(
padding: const EdgeInsets.only(left: 8.0, right: 8.0),
child: Text(
text: "Something went wrong, please try again",
),
):
WebView(
initialUrl: 'https://google.com/',
onWebResourceError: (WebResourceError error) {
print("WebresourceError occured!");
setState(() {
hasError=true;
});
},
)
);
}
Şeklnde hata durumda ekrana uyarı yazdırabilirsiniz.
HseyinAkkaya cevap için teşekkür ederim bunu deneyeceğim ancak inappwebview paketi kullanıyorum bu çözüm yine geçerli olur mu ?
- Best Answerset by karakartal
karakartal inappwebview için şunu kullanabilirsiniz
onLoadError: (InAppWebViewController controller, String url, int i, String s) async {
print('CUSTOM_HANDLER: $i, $s');
setState(() {
hasError=true;
});
},
onLoadHttpError: (InAppWebViewController controller, String url, int i, String s) async {
print('CUSTOM_HANDLER: $i, $s');
setState(() {
hasError=true;
});
},
HseyinAkkaya teşekkür ederim en kısa sürede deneyip geri dönüş yapacağım
HseyinAkkaya
Dostum çok teşekkür ederim üzerinde biraz değişiklik ile günlerdir aradığım sorunun cevabını verdin bana varsayılan hata sayfası yerine kendi hata sayfamı oluşturdum .