gpt4 book ai didi

flutter - 参数类型 'bool' 无法分配给参数类型 'voidcallback()'

转载 作者:IT王子 更新时间:2023-10-29 07:17:32 25 4
gpt4 key购买 nike

我创建通用警报框并传递参数。但是当尝试 tp pass onPressed 方法时,这个错误就来了。

Another exception was thrown: type 'bool' is not a subtype of type '() => 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),
))],);}}

最佳答案

Navigator.of(context).pop() 更改为 () => Navigator.of(context).pop()

showDialogPop(
AppTranslations.of(context).text("login_error"),
AppTranslations.of(context).text("enter_password"),
AppTranslations.of(context).text("ok"),
() => Navigator.of(context).pop());

关于flutter - 参数类型 'bool' 无法分配给参数类型 'voidcallback()',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56880651/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com