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

标签 flutter dart flutter-navigation

我创建通用警报框并传递参数。但是当尝试 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/

相关文章:

debugging - Strapi : debug ⛔️ Server wasn't able to start properly

dart - 保存可关闭状态

Dart_LoadScriptFromKernel : The binary program does not contain 'main'

flutter - 什么时候 route.didPop(result) 在 Flutter Navigator 2.0 中等于 false

python - Flutter 与 Python Django RESTFUL API

dart - Flutter 测试 MissingPluginException

ios - 如何解决 Flutter Xcode 构建中的 "error:linker command failed with exit code 1"问题?

flutter - Android 和 iOS 如何用 Flutter 实现振动?

在底部导航栏上推送新屏幕时出现 Flutter Transition 动画问题

Flutter - 当我推送的页面被后退按钮弹出时如何得到通知?