Я создаю общее окно оповещения и передаю аргументы.но при попытке выполнить метод tp pass onPressed появляется эта ошибка.
Было выдано другое исключение: тип 'bool' не является подтипом типа '() => void'
Класс виджетов
return showDialogPop(
AppTranslations.of(context).text("login_error"),
AppTranslations.of(context).text("enter_password"),
AppTranslations.of(context).text("ok"),
Navigator.of(context).pop());
Метод showDialogPop
showDialogPop(_titleText, _contentText, _childBtnText, VoidCallback _onPressed) {
return showDialog(
context: context,
builder: (BuildContext context) => AppAlertDialog(
titleText: _titleText,
contentText: _contentText,
childBtnText: _childBtnText,
onPressed: _onPressed));
}
общий класс AppBar
import 'package:flutter/material.dart';
class AppAlertDialog extends StatelessWidget {
final VoidCallback onPressed;
final String titleText;
final String contentText;
final String childBtnText;
AppAlertDialog({
this.titleText,
this.contentText,
this.childBtnText,
this.onPressed,
});
@override
Widget build(BuildContext context) {
return AlertDialog(
title: Text(titleText),
content: Text(contentText),
actions: <Widget>[
FlatButton(
onPressed: () => onPressed(),
child: Text(
childBtnText,
style: TextStyle(fontWeight: FontWeight.bold),
))],);}}