You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何修复「无上下文导航需GetMaterialApp或Get.key」错误?

问题修复:无上下文导航报错

报错说明

你触发的报错:You are trying to use contextless navigation without a GetMaterialApp or Get.key,核心原因是GetX的无上下文导航功能必须依赖GetMaterialApp(而非原生MaterialApp)初始化导航环境,或在测试模式下开启对应配置。

解决方案

分两种场景处理:

1. 真机/模拟器运行(正式场景)

找到应用入口文件(通常是main.dart),将原生MaterialApp替换为GetMaterialApp,示例代码如下:

import 'package:flutter/material.dart';
import 'package:get/get.dart';
import 'package:hetmaantje/welcome_screen.dart';

void main() {
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    // 替换MaterialApp为GetMaterialApp
    return GetMaterialApp(
      title: 'Quiz App',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: welcome_screen(),
    );
  }
}

2. 应用测试阶段

如果是单元测试或Widget测试场景,在测试代码开头设置Get.testMode = true即可:

void main() {
  setUp(() {
    Get.testMode = true;
  });

  // 你的测试代码逻辑...
}

验证效果

完成上述修改后,点击页面中的"Lets Start Quiz"按钮,即可正常通过Get.to(quiz_screen())跳转到目标页面。

内容的提问来源于stack exchange,提问作者Android_devNL

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.15 21:15:43