【问题标题】:Failed assertion: line 1696 pos 12: 'center!.parent == this': is not true断言失败:第 1696 行第 12 行:'center!.parent == this':不正确
【发布时间】:2021-09-17 02:48:46
【问题描述】:

我不知道为什么我无法运行我的应用程序。前几次我成功构建,我没有更改任何内容,但此时我无法构建应用程序。请帮我解决这个问题。

======== Exception caught by scheduler library =====================================================
The following assertion was thrown during a scheduler callback:
'package:flutter/src/rendering/viewport.dart': Failed assertion: line 1696 pos 12: 'center!.parent == this': is not true.


Either the assertion indicates an error in the framework itself, or we should provide substantially more information in this error message to help you determine and fix the underlying cause.
In either case, please report this assertion by filing a bug on GitHub:
  https://github.com/flutter/flutter/issues/new?template=2_bug.md

When the exception was thrown, this was the stack: 
#2      RenderViewport.indexOfFirstChild (package:flutter/src/rendering/viewport.dart:1696:12)
#3      RenderViewportBase.debugDescribeChildren (package:flutter/src/rendering/viewport.dart:968:17)
#4      DiagnosticableTreeNode.getChildren (package:flutter/src/foundation/diagnostics.dart:2994:48)
#5      DiagnosticsNode.toJsonMap.<anonymous closure> (package:flutter/src/foundation/diagnostics.dart:1567:32)
#6      DiagnosticsNode.toJsonMap (package:flutter/src/foundation/diagnostics.dart:1608:6)
...
====================================================================================================
E/flutter ( 8936): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1938 pos 13: 'debugDoingThisResize || debugDoingThisLayout || _computingThisDryLayout ||
E/flutter ( 8936):               (RenderObject.debugActiveLayout == parent && _size._canBeUsedByParent)': RenderBox.size accessed beyond the scope of resize, layout, or permitted parent access. RenderBox can always access its own size, otherwise, the only object that is allowed to read RenderBox.size is its parent, if they have said they will. It you hit this assert trying to access a child's size, pass "parentUsesSize: true" to that child's layout().
E/flutter ( 8936): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39)
E/flutter ( 8936): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
E/flutter ( 8936): #2      RenderBox.size.<anonymous closure> (package:flutter/src/rendering/box.dart:1938:13)
E/flutter ( 8936): #3      RenderBox.size (package:flutter/src/rendering/box.dart:1951:6)
E/flutter ( 8936): #4      RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:177:9)
E/flutter ( 8936): #5      RenderView.hitTest (package:flutter/src/rendering/view.dart:173:14)
E/flutter ( 8936): #6      RenderView.hitTestMouseTrackers (package:flutter/src/rendering/view.dart:190:5)
E/flutter ( 8936): #7      RendererBinding.dispatchEvent.<anonymous closure> (package:flutter/src/rendering/binding.dart:285:79)
E/flutter ( 8936): #8      MouseTracker.updateWithEvent (package:flutter/src/rendering/mouse_tracker.dart:297:92)
E/flutter ( 8936): #9      RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:285:22)
E/flutter ( 8936): #10     GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:374:7)
E/flutter ( 8936): #11     GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:338:5)
E/flutter ( 8936): #12     GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:296:7)
E/flutter ( 8936): #13     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:279:7)
E/flutter ( 8936): #14     _rootRunUnary (dart:async/zone.dart:1370:13)
E/flutter ( 8936): #15     _CustomZone.runUnary (dart:async/zone.dart:1265:19)
E/flutter ( 8936): #16     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)
E/flutter ( 8936): #17     _invoke1 (dart:ui/hooks.dart:182:10)
E/flutter ( 8936): #18     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:282:7)
E/flutter ( 8936): #19     _dispatchPointerDataPacket (dart:ui/hooks.dart:96:31)
E/flutter ( 8936): 
E/flutter ( 8936): [ERROR:flutter/lib/ui/ui_dart_state.cc(199)] Unhandled Exception: 'package:flutter/src/rendering/box.dart': Failed assertion: line 1938 pos 13: 'debugDoingThisResize || debugDoingThisLayout || _computingThisDryLayout ||
E/flutter ( 8936):               (RenderObject.debugActiveLayout == parent && _size._canBeUsedByParent)': RenderBox.size accessed beyond the scope of resize, layout, or permitted parent access. RenderBox can always access its own size, otherwise, the only object that is allowed to read RenderBox.size is its parent, if they have said they will. It you hit this assert trying to access a child's size, pass "parentUsesSize: true" to that child's layout().
E/flutter ( 8936): #0      _AssertionError._doThrowNew (dart:core-patch/errors_patch.dart:46:39)
E/flutter ( 8936): #1      _AssertionError._throwNew (dart:core-patch/errors_patch.dart:36:5)
E/flutter ( 8936): #2      RenderBox.size.<anonymous closure> (package:flutter/src/rendering/box.dart:1938:13)
E/flutter ( 8936): #3      RenderBox.size (package:flutter/src/rendering/box.dart:1951:6)
E/flutter ( 8936): #4      RenderProxyBoxWithHitTestBehavior.hitTest (package:flutter/src/rendering/proxy_box.dart:177:9)
E/flutter ( 8936): #5      RenderView.hitTest (package:flutter/src/rendering/view.dart:173:14)
E/flutter ( 8936): #6      RendererBinding.hitTest (package:flutter/src/rendering/binding.dart:490:16)
E/flutter ( 8936): #7      GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:346:7)
E/flutter ( 8936): #8      GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:338:5)
E/flutter ( 8936): #9      GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:296:7)
E/flutter ( 8936): #10     GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:279:7)
E/flutter ( 8936): #11     _rootRunUnary (dart:async/zone.dart:1370:13)
E/flutter ( 8936): #12     _CustomZone.runUnary (dart:async/zone.dart:1265:19)
E/flutter ( 8936): #13     _CustomZone.runUnaryGuarded (dart:async/zone.dart:1170:7)
E/flutter ( 8936): #14     _invoke1 (dart:ui/hooks.dart:182:10)
E/flutter ( 8936): #15     PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:282:7)
E/flutter ( 8936): #16     _dispatchPointerDataPacket (dart:ui/hooks.dart:96:31)
E/flutter ( 8936): 

================================================ ==================================

【问题讨论】:

    标签: flutter flutter-test


    【解决方案1】:

    如果您使用 Slivers,解决方法非常简单。但这是 Flutter 中的一个问题。但是我们可以像这样进行临时修复

    CustomScrollView(
              slivers: <Widget>[
                SliverToBoxAdapter(
                  child: SizedBox(),
                ),
                _feedListDelegate,])
    

    【讨论】:

      猜你喜欢
      • 2020-04-22
      • 2020-12-29
      • 2021-02-23
      • 2021-10-25
      • 2021-11-02
      • 2021-05-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多