Android studio “如何修复”;断言失败:';创建!=空';:“这不是真的”;Flatter中的提供程序包出错?

Android studio “如何修复”;断言失败:';创建!=空';:“这不是真的”;Flatter中的提供程序包出错?,android-studio,flutter,flutter-provider,Android Studio,Flutter,Flutter Provider,以下是来自Android Studio的错误消息: ════════ Exception caught by widgets library ═══════════════════════════════════════════════════════ The following assertion was thrown building MyZippyApp(dirty): 'package:provider/src/provider.dart': Failed assertion: line

以下是来自Android Studio的错误消息:

════════ Exception caught by widgets library ═══════════════════════════════════════════════════════
The following assertion was thrown building MyZippyApp(dirty):
'package:provider/src/provider.dart': Failed assertion: line 181 pos 16: 'create != null': is not true.

The relevant error-causing widget was: 
  MyZippyApp file:///Users/mgav/AndroidStudioProjects/streakers_journal_beta/lib/main.dart:5:23
When the exception was thrown, this was the stack: 
#2      new Provider (package:provider/src/provider.dart:181:16)
#3      MyZippyApp.build (package:streakers_journal_beta/main.dart:10:12)
#4      StatelessElement.build (package:flutter/src/widgets/framework.dart:4701:28)
#5      ComponentElement.performRebuild (package:flutter/src/widgets/framework.dart:4627:15)
#6      Element.rebuild (package:flutter/src/widgets/framework.dart:4343:5)
当我将“MaterialApp”包装到“Provider”小部件(在pubspec.yaml>中使用程序包版本Provider:^4.3.2运行“Pub-get”)中,然后尝试运行该应用程序时,它就会出现

以下是使用“Provider”小部件包装之前的main.dart代码(效果非常好):

以下是使用provider小部件包装后的main.dart代码:

import 'package:flutter/material.dart';
import 'package:streakers_journal_beta/screens/tasks_screen.dart';
import 'package:provider/provider.dart';

void main() => runApp(MyZippyApp());

class MyZippyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return Provider(
      child: MaterialApp(
        home:
            TasksScreen(), // matches "TasksScreen" class created on tasks_screen.dart
      ),
    );
  }
}
根据Farhan Syah的回答,下面是反映其答案(并解决问题)的修订代码:


提供程序小部件具有必需的创建属性

您应该使用“创建”来创建要提供的对象

return Provider(
      create: (context)=> ObjectToBeProvidedHere(),
      child: MaterialApp(
        home:
            TasksScreen(), // matches "TasksScreen" class created on tasks_screen.dart
      ),
    );

Android emulator中的错误截图位于
import 'package:flutter/material.dart';
import 'package:streakers_journal_beta/screens/tasks_screen.dart';
import 'package:provider/provider.dart';

void main() => runApp(MyZippyApp());

class MyZippyApp extends StatelessWidget {
  final String testingText = 'Thank you Farhan Syah';

  @override
  Widget build(BuildContext context) {
    return Provider(
      create: (context) => testingText,
      child: MaterialApp(
        home:
            TasksScreen(), // matches "TasksScreen" class created on tasks_screen.dart
      ),
    );
  }
}
return Provider(
      create: (context)=> ObjectToBeProvidedHere(),
      child: MaterialApp(
        home:
            TasksScreen(), // matches "TasksScreen" class created on tasks_screen.dart
      ),
    );