【问题标题】:In ListTile, onTap not working, shows Failed Assertion在 ListTile 中,onTap 不起作用,显示 Failed Assertion
【发布时间】:2021-10-28 11:58:11
【问题描述】:

这里是代码

ListTile(
                    leading: Icon(Icons.person),
                    title: Text(
                      ("My Account"),
                    ),
                    onTap: () {
                      Navigator.of(context).pushNamed(profilePage);
                    },
                  ),

这是路由文件

const String loginPage = 'loginScreen';
const String homePage = 'main';
const String profilePage = 'profileScreen';

Route<dynamic> controller(RouteSettings settings) {
  switch (settings.name) {
    case loginPage:
      return MaterialPageRoute(builder: (context) => LoginScreen());
    case homePage:
      return MaterialPageRoute(builder: (context) => App());
    case profilePage:
      return MaterialPageRoute(builder: (context) => Profile());
    default:
      throw ('This route does not exist');
  }

这是错误:

════════手势捕获的异常═════════════════════════════␕═══ ════════ 'package:flutter/src/widgets/navigator.dart':断言失败:第 4134 行 pos 12:'!_debugLocked':不正确。 ══════════════════════════════════════════>

【问题讨论】:

标签: flutter


【解决方案1】:

试试下面的代码希望它可以帮助你参考 Navigator.pushNamed here的官方文档

case loginPage:  (context)=>LoginScreen(),

在 ListTile 内部

 onTap: () {
              Navigator.pushNamed(context,profilePage);
            },

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-07-21
    • 2021-03-18
    • 2023-03-25
    • 1970-01-01
    • 2019-10-08
    • 2021-11-23
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多