【问题标题】:Flutter calling showTimePicker function results in error: The getter 'modalBarrierDismissLabel' was called on nullFlutter 调用 showTimePicker 函数导致错误:在 null 上调用了 getter 'modalBarrierDismissLabel'
【发布时间】:2019-03-03 20:38:09
【问题描述】:
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(title: Text("Hello Flutter"),),
        body: Column(children: [
          GestureDetector(
              onTap: () {
                showTimePicker(
                  context: context,
                  initialTime: const TimeOfDay(hour: 7, minute: 0),
                );
              },
              child: Text("22:30")
          )

尝试像这样将 timePicker 添加到我的 Flutter 应用程序中。点击文本会导致错误。

E/flutter (23737): [错误:flutter/shell/common/shell.cc(181)] Dart 错误:未处理的异常:E/flutter (23737): NoSuchMethodError: The 在 null 上调用了 getter 'modalBarrierDismissLabel'。 E/颤振 (23737):接收器:空 E/颤振(23737):尝试调用: modalBarrierDismissLabel E/flutter (23737): #0
Object.noSuchMethod (dart:core/runtime/libobject_patch.dart:48:5) E/颤振 (23737): #1 showDialog (package:flutter/src/material/dialog.dart:615:53) E/flutter (23737):

【问题讨论】:

  • 奇怪,你的代码没有给我抛出任何错误,哈哈,你使用的是什么版本的 dart 和 flutter?

标签: dart flutter


【解决方案1】:

这是一个问题,因为传递给 showTimePicker() 的上下文在小部件树中的 MaterialApp 之上。

要修复它,您需要另一个上下文,您可以在MaterialApp 下方使用Builder

import 'package:flutter/material.dart';

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

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
        appBar: AppBar(
          title: Text("Hello Flutter"),
        ),
        body: Builder(
          builder: (context) => Column(
            children: [
              GestureDetector(
                onTap: () {
                  showTimePicker(
                    context: context,
                    initialTime: const TimeOfDay(hour: 7, minute: 0),
                  );
                },
                child: Text("22:30"),
              )
            ],
          ),
        ),
      ),
    );
  }
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-08-11
    • 2020-01-08
    • 2021-12-10
    • 2020-03-24
    • 2021-05-25
    • 2023-03-08
    • 1970-01-01
    相关资源
    最近更新 更多