簡體   English   中英

Flutter調用showTimePicker函數會導致錯誤:在null上調用getter'modalBarrierDismissLabel'

[英]Flutter calling showTimePicker function results in error: The getter 'modalBarrierDismissLabel' was called on null

  @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")
          )

試圖像這樣向我的Flutter應用程序添加timePicker。 輕擊文本會導致錯誤。

E / flutter(23737):[錯誤:flutter / shell / common / shell.cc(181)] Dart錯誤:未處理的異常:E / flutter(23737):NoSuchMethodError:吸氣劑'modalBarrierDismissLabel'被調用為null。 E / flutter(23737):接收方:空E / flutter(23737):嘗試調用:modalBarrierDismissLabel E / flutter(23737):#0
Object.noSuchMethod(dart:core / runtime / libobject_patch.dart:48:5)E / flutter(23737):#1 showDialog(包:flutter / src / material / dialog.dart:615:53)E / flutter(23737) ):

這是一個問題,因為傳遞到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"),
              )
            ],
          ),
        ),
      ),
    );
  }
}

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM