颤动导航到新屏幕不起作用

2024-04-26

我正在构建一个登录屏幕,将数据传递到主屏幕,当我单击登录按钮时,什么也没有发生。没有错误,但也没有发送到新屏幕。

这是按钮代码:

    Widget submitButton()
    {
 return Container(
        margin: EdgeInsets.all(10.0),
        child:RaisedButton(
        child: Text('LOGIN'),
        onPressed: (){
          if(formKey.currentState.validate()){

            formKey.currentState.save();
             print('Time to save $emailAddress and $passWord to my API');
             Navigator.push(
               context,
                      new MaterialPageRoute(
                     builder: (BuildContext context) =>
                     new Home()));

                  }
               },

        )
 );

这是我的routes.dart 文件

 import 'package:flutter/material.dart';
 import '../screens/home.dart';
 import 'package:lbconnectv3/main.dart';

 final routes = {
  '/home':         (BuildContext context) => new Home(),
   '/' :          (BuildContext context) => new LBConnectApp(),
   };

EDIT

main.dart 的完整代码,它基本上有一个带有 2 个用于登录的文本字段的表单。控制台没有错误并进入 if 语句。

import 'package:flutter/material.dart';
import 'utils/validation.dart';
import 'screens/home.dart';
import 'utils/routes.dart';

 void main() => runApp(new LBConnectApp());

  class LBConnectApp extends StatefulWidget {

  createState()
  {
     return new LBConnectAppState();
   }

   } 

   class LBConnectAppState extends State<LBConnectApp> with Validation
   {

      final formKey = GlobalKey<FormState>();
      String emailAddress = '';
      String passWord = '';
      Widget build(context) {
      return MaterialApp(

       title: "LB Connect",
        home: Scaffold(
        backgroundColor: const Color(0xFF0099a9),
        body:
        Container(
        margin: EdgeInsets.all(25.0),
        child: Form(
        key: formKey,
        child: Column(
         children: [
          Container(
            margin: EdgeInsets.only(top: 100.0),
            child:Image.asset('images/lb_connect_trans.png')
           ),
           emailField(),
           passwordField(),   
          submitButton(),
        ],
         ),      
        ),
       )
       ),  
       );  
       }

       Widget emailField()
       {
         return TextFormField(
         keyboardType: TextInputType.emailAddress,
          decoration : InputDecoration(
           labelText: 'Email Address',
         ),

         validator: validateEmail,
         onSaved: (String value){

           emailAddress = value;

         },

       );
       }

       Widget passwordField()
       {
           return TextFormField(
         obscureText: true,
         decoration : InputDecoration(
           labelText: 'Password',

         ),

         validator: validatePassword,
          onSaved: (String value){

            passWord = value;
         },

         );
       }

       Widget submitButton()
      {
          return Container(
        margin: EdgeInsets.all(10.0),
        child:RaisedButton(
        child: Text('LOGIN'),
        onPressed: (){
          if(formKey.currentState.validate()){

            formKey.currentState.save();
             print('Time to save $emailAddress and $passWord to my API');
             Navigator.push(
               context,
                      new MaterialPageRoute(
                     builder: (BuildContext context) =>
                     new Home()));

                  }
               },

            )
       );
     }

    }

在摆弄我的应用程序后,我发现了这个问题:)

我必须用 Material App 包装我的类,然后向其中添加我的路由属性。这是正确的代码:

 void main() => runApp(MaterialApp(
 routes: routes,
 home: LBConnectApp()
 )
);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

颤动导航到新屏幕不起作用 的相关文章

随机推荐

  • 播放 video.js ustream m3u8 文件流

    我尝试在网页中播放带有 video js 的 m3u8 文件流 但我无法做到这一点 我不知道错误在哪里
  • 当前安全范围书签的内核资源限制是多少?

    的文档 NSURL startAccessingSecurityScopedResource state 您必须平衡对 startAccessingSecurityScopedResource 方法的每次调用与对 stopAccessing
  • 这是 VB.NET 编译器中的错误还是设计造成的?

    我发现 C 和 VB 编译器之间的重载解析存在差异 我不确定这是错误还是设计使然 Public Class Class1 Public Sub ThisBreaks These work Foo Of String Function Str
  • 为什么 MYSQL DB 在对 Django models.DateTimeField 求平均值时返回损坏的值?

    我正在 MySQL 实际上是 MariaDB 数据库上运行 Django 应用程序 我的 Django 模型如下所示 from django db import models from django db models import Avg
  • 在可移植 C 中模拟打包结构

    我有以下结构 typedef struct Octree uint64 t data uint8 t alignas 8 alloc uint8 t dataalloc uint16 t size datasize node0 Node8
  • Delphi COM 对象中的早期绑定和后期绑定在性能方面哪个更好

    在delphi中 如果要创建COM对象 可以通过两种方式来完成 第一个是早期绑定 例如 uses MSScriptControl TLB MS Script Control var obj IScriptControl begin obj
  • 处理嵌入式系统中的堆栈溢出

    在嵌入式软件中 如何以通用方式处理堆栈溢出 我遇到过一些确实以硬件方式提供保护的处理器 例如最近的 AMD 处理器 维基百科上有一些技术 但这些是真正实用的方法吗 任何人都可以给出一个在当今 32 位嵌入式处理器的所有情况下都适用的明确建议
  • CRC 16 -DECT 与聚 x^16 + x^10 + x^8 + x^7 + x^3 + 1

    相信我 我已经尝试过编写这个代码 尝试过谷歌 但没有任何运气 我正在尝试使用这个 Poly 实现 CRC16 x 16 x 10 x 8 x 7 x 3 1 使用C语言 因为我对 PHP 有了更好的了解 所以我试图让一个函数运行 但我没有得
  • 有没有好的 LINQ 方法来计算笛卡尔积?

    我有一个像这样的类结构 Person Dogs dog 1 dog 2 etc Puppies puppy A puppy B etc 有一个人 他有 1 n 只狗 每只狗有 1 n 只小狗 我想要一份所有可能的小狗组合的列表 从每只狗中取
  • LLVM到底是什么?

    我一直听说 LLVM 它是 Perl 语言 然后是 Haskell 语言 然后有人用其他语言使用它 它是什么 它与 GCC 到底有什么区别 视角 安全等 LLVM 是一个用于构建 优化和生成中间和 或二进制机器代码的库 LLVM 可以用作编
  • 找不到 Android 支持库和媒体路由器 .jar 文件

    我对 Xamarin 完全陌生 我想将地图添加到 Xamarin Android 中的默认 hello world 我已经按照指南一步步准备了清单 还通过 sdk 管理器下载了支持库 但出现错误 要求我安装 SL 和 SL 媒体路由器 这里
  • AVCaptureMetadataOutput().rectOfInterest 不工作

    我正在构建一个UIView它有一个覆盖的盒子 最终目标是让 QR 码阅读器仅在 QR 落入盒子内时触发 我知道我需要设置 rectOfInterest 与黄色框相同 但在当前实现 下面的代码 中 阅读器不起作用 public overrid
  • Dotfuscator Pro无法读取Jenkins构建服务器下的许可信息

    我试图让 Dotfuscator Pro 4 13 在单元测试和创建安装包之间运行 我们使用的构建服务器是 Windows Server 2008 R2 上的 Jenkins 1 487 dotfuscator 的命令行非常简单 我使用 q
  • URL 重写查询数据库?

    我试图了解 URL 重写的工作原理 我有以下链接 mysite com profile php id 23 我想用用户的名字和姓氏重写上面的网址 mysite com directory liam gallagher 然而 根据我读到的内容
  • 扩展《斯巴达克斯》中的产品模型

    我正在尝试使用我在 items xml 中创建的新属性来扩展产品模型 但我似乎无法在 Spartacus 前面获取它 我添加了一个带有以下代码的product model ts文件 import Product as CxProduct f
  • Nativescript ios 中闪屏后显示白屏

    在 Nativescript ios 中 启动屏幕后几秒钟显示白屏 这种情况仅发生在我们的项目中 但示例项目运行良好 我检查了模拟器和 iPhone 5 iPhone 6 iPad mini 所有设备都显示白屏 我将 Nativescrip
  • 如何按会计季度分组的日期计算平均值

    我有下表 Date Country Class Value 6 1 2010 USA A 45 6 1 2010 Canada A 23 6 1 2010 Brazil B 65 9 1 2010 USA B 47 9 1 2010 Can
  • 从只读 couchdb 复制

    我有一台服务器 其中包含一个 couchdb 数据库 其中包含我的应用程序所需的信息 它包含几兆字节的内容 一些每天都会变化的文档 添加最新新闻 删除旧文档 更新一些文档 应用程序会尽可能与服务器数据库同步 以便离线使用此信息 然而 这些信
  • 根据选项元素中的文本进行选项选择

    我试图在下拉列表中选择将文本值传递到函数中的选项 获取其值 然后选择具有该值的选项 你能明白为什么这不起作用吗 function selectAndAddToCart value console log The selectAndAddTo
  • 颤动导航到新屏幕不起作用

    我正在构建一个登录屏幕 将数据传递到主屏幕 当我单击登录按钮时 什么也没有发生 没有错误 但也没有发送到新屏幕 这是按钮代码 Widget submitButton return Container margin EdgeInsets al