繁体   English   中英

TextFormField 在启动时和按下键盘键时抛出异常

[英]TextFormField throws an exception on startUp and when the keyboard keys are pressed

我的代码中有一个 TextFormField ,用户需要在其中输入一个单词(在本例中为电子邮件),但是当应用程序打开此屏幕时,它会立即引发异常,并且每次用户按下键盘上的键时都会重复该异常

E/MethodChannel#flutter/platform(24591): Failed to handle method call
E/MethodChannel#flutter/platform(24591): java.lang.NullPointerException: Attempt to invoke interface method 'boolean android.app.trust.ITrustManager.isDeviceLocked(int)' on a null object reference
E/MethodChannel#flutter/platform(24591):    at android.os.Parcel.readException(Parcel.java:1626)
E/MethodChannel#flutter/platform(24591):    at android.os.Parcel.readException(Parcel.java:1573)
E/MethodChannel#flutter/platform(24591):    at android.content.IClipboard$Stub$Proxy.hasPrimaryClip(IClipboard.java:233)
E/MethodChannel#flutter/platform(24591):    at android.content.ClipboardManager.hasPrimaryClip(ClipboardManager.java:156)
E/MethodChannel#flutter/platform(24591):    at io.flutter.plugin.platform.PlatformPlugin.getClipboardData(PlatformPlugin.java:287)
E/MethodChannel#flutter/platform(24591):    at io.flutter.plugin.platform.PlatformPlugin.access$700(PlatformPlugin.java:26)
E/MethodChannel#flutter/platform(24591):    at io.flutter.plugin.platform.PlatformPlugin$1.getClipboardData(PlatformPlugin.java:85)
E/MethodChannel#flutter/platform(24591):    at io.flutter.embedding.engine.systemchannels.PlatformChannel$1.onMethodCall(PlatformChannel.java:141)
E/MethodChannel#flutter/platform(24591):    at io.flutter.plugin.common.MethodChannel$IncomingMethodCallHandler.onMessage(MethodChannel.java:233)
E/MethodChannel#flutter/platform(24591):    at io.flutter.embedding.engine.dart.DartMessenger.handleMessageFromDart(DartMessenger.java:85)
E/MethodChannel#flutter/platform(24591):    at io.flutter.embedding.engine.FlutterJNI.handlePlatformMessage(FlutterJNI.java:693)
E/MethodChannel#flutter/platform(24591):    at android.os.MessageQueue.nativePollOnce(Native Method)
E/MethodChannel#flutter/platform(24591):    at android.os.MessageQueue.next(MessageQueue.java:323)
E/MethodChannel#flutter/platform(24591):    at android.os.Looper.loop(Looper.java:135)
E/MethodChannel#flutter/platform(24591):    at android.app.ActivityThread.main(ActivityThread.java:5445)
E/MethodChannel#flutter/platform(24591):    at java.lang.reflect.Method.invoke(Native Method)
E/MethodChannel#flutter/platform(24591):    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:726)
E/MethodChannel#flutter/platform(24591):    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:616)

这是被调用的异常,我相信是因为TextFormField,因为当我注释与该Widget相关的代码时,异常消失了。

我的这个小部件的代码:

class AuthPageState extends State<AuthPage> {
  final formKey = GlobalKey<FormState>();
  String _email, _password = "";

  @override
  Widget build(BuildContext context) {
    final emailField = SizedBox(
      height: 44.0,
      child: TextFormField(
          obscureText: false,
          onChanged: (val) => _email = val,
          autovalidateMode: AutovalidateMode.onUserInteraction,
          keyboardType: TextInputType.emailAddress,
          decoration: InputDecoration(
            contentPadding: EdgeInsets.fromLTRB(20.0, 10.0, 20.0, 10.0),
            labelText: "Email",
            hintText: "Enter Valid Email",
            border:
                OutlineInputBorder(borderRadius: BorderRadius.circular(5.0)),
          )),
    );
  return Scaffold(
      body: Center(
        child: Container(
          color: Colors.white,
          child: Padding(
            padding: const EdgeInsets.all(36.0),
            child: SingleChildScrollView(
              child: Column(
                crossAxisAlignment: CrossAxisAlignment.center,
                mainAxisAlignment: MainAxisAlignment.center,
                children: <Widget>[
                  Form(key: formKey, child: emailField),
                ],
              ),
            ),
          ),
        ),
      ),
    );
  }
}

也许我在错误的地方添加了一些东西,或者我忘记了一些东西。 我对 Flutter 中的移动开发相当陌生。 我不明白这个异常,到目前为止,我还没有找到任何关于 TextFormField 的此类异常的信息。

谢谢您的帮助!

参数autovalidateMode: AutovalidateMode.onUserInteraction,已弃用,请尝试将其删除链接

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM