Я хочу показать AlertDialog, когда не удается получить http. Функция showDialog (https://api.flutter.dev/flutter/material/showDialog.html) имеет параметр "@required BuildContext context", но я хочу вызвать AlertDialog из моей асинхронной функции getNews (), которая не имеет значения контекста.
По аналогии с Java, где я использую null для диалога без владельца, я пытался установить значение контекста в null, но это не принимается.
Это мой код:
Future<dynamic> getNews() async {
dynamic retVal;
try {
var response = await http.get(url));
if (response.statusCode == HttpStatus.ok) {
retVal = jsonDecode(response.body);
}
} catch (e) {
alertDlg(?????????, 'Error', e.toString());
}
return
retVal;
}
static Future<void> alertDlg(context, String titolo, String messaggio) async {
return showDialog<void>(
context: context,
barrierDismissible: false, // user must tap button!
builder: (BuildContext context) {
return AlertDialog(
title: Text(titolo),
...
);
}