Android 颤振警报问题。rflutter不工作

Android 颤振警报问题。rflutter不工作,android,flutter,dialog,yaml,alert,Android,Flutter,Dialog,Yaml,Alert,我正在尝试显示警报。我正在使用rflutter包。但不知怎么的,它不起作用,我不明白 我正在尝试显示警报。我正在使用rflutter包。但不知怎么的,它不起作用,我不明白 这是我的主飞镖 import 'package:flutter/material.dart'; import 'package:rflutter_alert/rflutter_alert.dart'; void main() => runApp(DialogueBoxes()); class DialogueBoxe

我正在尝试显示警报。我正在使用rflutter包。但不知怎么的,它不起作用,我不明白

我正在尝试显示警报。我正在使用rflutter包。但不知怎么的,它不起作用,我不明白

这是我的主飞镖

import 'package:flutter/material.dart';
import 'package:rflutter_alert/rflutter_alert.dart';

void main() => runApp(DialogueBoxes());

class DialogueBoxes extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      color: Colors.green,
      home: Scaffold(
        body: Center(
          child: Container(
            child: Column(
              mainAxisAlignment: MainAxisAlignment.center,
              children: <Widget>[
                FlatButton(
                  child: Text("Click Flat"),
                  onPressed: () {
                    return Alert(
                      context: context,
                      title: 'Flat Cilcked',
                    ).show();
                  },
                ),
                RaisedButton(
                  child: Text("Click Raised"),
                  onPressed: () => Alert(
                    context: context,
                    title: 'Raised Click',
                  ).show(),
                )
              ],
            ),
          ),
        ),
      ),
    );
  }
}
这就是我得到的错误

E/flutter (27156): [ERROR:flutter/lib/ui/ui_dart_state.cc(148)] Unhandled Exception: NoSuchMethodError: The getter 'modalBarrierDismissLabel' was called on null.
E/flutter (27156): Receiver: null
E/flutter (27156): Tried calling: modalBarrierDismissLabel
E/flutter (27156): #0      Object.noSuchMethod (dart:core-patch/object_patch.dart:51:5)
E/flutter (27156): #1      Alert.show (package:rflutter_alert/src/alert.dart:54:55)
E/flutter (27156): <asynchronous suspension>
E/flutter (27156): #2      DialogueBoxes.build.<anonymous closure> (package:quizzed/main.dart:32:21)
E/flutter (27156): #3      _InkResponseState._handleTap (package:flutter/src/material/ink_well.dart:654:14)
E/flutter (27156): #4      _InkResponseState.build.<anonymous closure> (package:flutter/src/material/ink_well.dart:729:32)
E/flutter (27156): #5      GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:182:24)
E/flutter (27156): #6      TapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:365:11)
E/flutter (27156): #7      TapGestureRecognizer.handlePrimaryPointer (package:flutter/src/gestures/tap.dart:275:7)
E/flutter (27156): #8      PrimaryPointerGestureRecognizer.handleEvent (package:flutter/src/gestures/recognizer.dart:455:9)
E/flutter (27156): #9      PointerRouter._dispatch (package:flutter/src/gestures/pointer_router.dart:75:13)
E/flutter (27156): #10     PointerRouter.route (package:flutter/src/gestures/pointer_router.dart:102:11)
E/flutter (27156): #11     GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:218:19)
E/flutter (27156): #12     GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:198:22)
E/flutter (27156): #13     GestureBinding._handlePointerEvent (package:flutter/src/gestures/binding.dart:156:7)
E/flutter (27156): #14     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:102:7)
E/flutter (27156): #15     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:86:7)
E/flutter (27156): #16     _rootRunUnary (dart:async/zone.dart:1136:13)
E/flutter (27156): #17     _CustomZone.runUnary (dart:async/zone.dart:1029:19)
E/flutter (27156): #18     _CustomZone.runUnaryGuarded (dart:async/zone.dart:931:7)
E/flutter (27156): #19     _invoke1 (dart:ui/hooks.dart:263:10)
E/flutter (27156): #20     _dispatchPointerDataPacket (dart:ui/hooks.dart:172:5)
E/flutter (27156):

E/flatter(27156):[ERROR:flatter/lib/ui/ui\u dart\u state.cc(148)]未处理的异常:NoSuchMethodError:在null上调用了getter“modalBarrierdismLabel”。
E/颤振(27156):接收器:空
E/Flatter(27156):尝试呼叫:ModalBarrierRDismLabel
E/颤振(27156):#0 Object.noSuchMethod(飞镖:核心补丁/Object_补丁。飞镖:51:5)
E/flatter(27156):#1 Alert.show(包:rflutter_Alert/src/Alert.dart:54:55)
E/颤振(27156):
E/颤振(27156):#2个DialogueBox.build。(组别:测验/主考。省道:32:21)
E/Flatter(27156):#3InkResponseEstate.handleTap(包装:Flatter/src/material/inkwell.省道:654:14)
E/颤振(27156):#4#InkResponse.build。(包装:颤振/src/材料/墨水井。省道:729:32)
E/flatter(27156):#5手势识别器.invokeCallback(包:flatter/src/signatures/recognizer.dart:182:24)
E/flatter(27156):#6 TapGestureRecognitor._检查(包:flatter/src/signatures/tap.dart:365:11)
E/flatter(27156):#7 TapGestureRecognitor.handlePrimaryPointer(包:flatter/src/signatures/tap.dart:275:7)
E/Flatter(27156):#8 PrimaryPointerGestureRecognizer.handleEvent(包:flatter/src/signatures/recognizer.dart:455:9)
E/flatter(27156):#9点外部程序。#调度(包:flatter/src/signatures/pointer_router。dart:75:13)
E/flatter(27156):#10 PointerRouter.route(包:flatter/src/signatures/pointer_router.dart:102:11)
E/flatter(27156):#11 GestureBinding.handleEvent(包:flatter/src/signatures/binding.dart:218:19)
E/flatter(27156):#12 GestureBinding.dispatchEvent(包:flatter/src/signatures/binding.dart:198:22)
E/flatter(27156):#13手势绑定。#手点事件(包装:flatter/src/signatures/binding.dart:156:7)
E/flatter(27156):#14个手势绑定。(u flushpointerreeventqueue(包装:flatter/src/signatures/binding.dart:102:7)
E/flatter(27156):#15个手势绑定。"handlePointerDataPacket(包:flatter/src/signatures/binding.dart:86:7)
E/flatter(27156):#16 rootrunnary(dart:async/zone.dart:1136:13)
E/flatter(27156):#17 _CustomZone.runUnary(dart:async/zone.dart:1029:19)
E/flatter(27156):#18 _CustomZone.runUnaryGuarded(dart:async/zone.dart:931:7)
E/颤振(27156):#19 invoke1(省道:ui/挂钩。省道:263:10)
E/flatter(27156):#20 dispatchPointerDataPacket(dart:ui/hooks.dart:172:5)
E/颤振(27156):
  • 帮我解决这个问题
  • 我尝试了许多其他方法,但没有成功
  • 提前谢谢

您需要拆分您的家庭小部件,尝试将
Scaffold
拆分到另一个
StatelessWidget
并从
MaterialApp home

编辑 更改您的
MaterialApp
home,就像这样
home:home()

这是您在另一个
home()小部件中的新
Scaffold

class home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Container(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              FlatButton(
                child: Text("Click Flat"),
                onPressed: () {
                  return Alert(
                    context: context,
                    title: 'Flat Cilcked',
                  ).show();
                },
              ),
              RaisedButton(
                child: Text("Click Raised"),
                onPressed: () => Alert(
                  context: context,
                  title: 'Raised Click',
                ).show(),
              )
            ],
          ),
        ),
      ),
    );
  }
}
class home扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:容器(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
扁平按钮(
子项:文本(“单击展开”),
已按下:(){
返回警报(
上下文:上下文,
标题:'扁平环',
).show();
},
),
升起的按钮(
子项:文本(“单击提升”),
按下按钮:()=>警报(
上下文:上下文,
标题:“提升点击”,
).show(),
)
],
),
),
),
);
}
}

您需要拆分家庭小部件,尝试将
Scaffold
拆分到另一个
StatelessWidget
并从
MaterialApp-home

编辑 更改您的
MaterialApp
home,就像这样
home:home()

这是您在另一个
home()小部件中的新
Scaffold

class home extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: Center(
        child: Container(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              FlatButton(
                child: Text("Click Flat"),
                onPressed: () {
                  return Alert(
                    context: context,
                    title: 'Flat Cilcked',
                  ).show();
                },
              ),
              RaisedButton(
                child: Text("Click Raised"),
                onPressed: () => Alert(
                  context: context,
                  title: 'Raised Click',
                ).show(),
              )
            ],
          ),
        ),
      ),
    );
  }
}
class home扩展了无状态小部件{
@凌驾
小部件构建(构建上下文){
返回脚手架(
正文:中(
子:容器(
子:列(
mainAxisAlignment:mainAxisAlignment.center,
儿童:[
扁平按钮(
子项:文本(“单击展开”),
已按下:(){
返回警报(
上下文:上下文,
标题:'扁平环',
).show();
},
),
升起的按钮(
子项:文本(“单击提升”),
按下按钮:()=>警报(
上下文:上下文,
标题:“提升点击”,
).show(),
)
],
),
),
),
);
}
}

您的问题看起来不像是引用上下文参数

试试这个

 RaisedButton(
    child : Text("Click Raised),
    onPressed : () => _showAlert(context),
 )

...
//Out of build method
_showAlert(context){
       Alert(
          context : context,
          title : 'Raised Click',
       ).show();
}

您的问题看起来不是引用上下文参数

试试这个

 RaisedButton(
    child : Text("Click Raised),
    onPressed : () => _showAlert(context),
 )

...
//Out of build method
_showAlert(context){
       Alert(
          context : context,
          title : 'Raised Click',
       ).show();
}

是否必须使用rflutter\U警报包?我们可以使用简单警报对话框吗?然后我举了一个例子,你们只想调用这个类的方法,是否必须使用rflutter\U警报包?我们可以使用简单的警报对话框吗?然后我举了一个例子,你们只想调用那个类的方法。谢谢你们,现在一切正常。你能解释一下为什么现在这样做以及之前的问题是什么吗?我不确定,但我认为当把小部件放在
MaterialApp
中时,有些东西没有初始化。否则我认为home()在
MaterialApp
完成时调用