-
Notifications
You must be signed in to change notification settings - Fork 29.7k
Labels
a: error messageError messages from the Flutter frameworkError messages from the Flutter frameworka: text inputEntering text in a text field or keyboard related problemsEntering text in a text field or keyboard related problemsf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.found in release: 3.13Found to occur in 3.13Found to occur in 3.13found in release: 3.16Found to occur in 3.16Found to occur in 3.16frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-designOwned by Design Languages teamOwned by Design Languages team
Description
Is there an existing issue for this?
- I have searched the existing issues
- I have read the guide to filing a bug
Steps to reproduce
- Run the code on simulator
- Select the textfield
- Select the dropdown menu
- Press done to close the keyboard
Expected results
No crash
Actual results
Crash
Code sample
Code sample
import 'package:flutter/material.dart';
void main() {
runApp(const MyApp());
}
class MyApp extends StatelessWidget {
const MyApp({super.key});
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Flutter Demo',
theme: ThemeData(
colorScheme: ColorScheme.fromSeed(seedColor: Colors.deepPurple),
useMaterial3: true,
),
home: const MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key, required this.title});
final String title;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
backgroundColor: Theme.of(context).colorScheme.inversePrimary,
title: Text(title),
),
body: const SingleChildScrollView(
child: Column(
children: [
Padding(
padding: EdgeInsets.symmetric(vertical: 20, horizontal: 16),
child: Column(
children: [
SizedBox(height: 500),
TextField(
decoration: InputDecoration(label: Text('Textfield')),
),
SizedBox(height: 24),
DropdownMenu<int>(
label: Text('Dropdown'),
dropdownMenuEntries: [
DropdownMenuEntry(value: 1, label: 'Dropdown Item 1'),
DropdownMenuEntry(value: 2, label: 'Dropdown Item 2'),
DropdownMenuEntry(value: 3, label: 'Dropdown Item 3'),
DropdownMenuEntry(value: 4, label: 'Dropdown Item 4')
],
),
],
),
),
],
),
),
);
}
}
Screenshots or Video
Screenshots / Video demonstration
bug.mp4
Logs
Logs
[+10554 ms] ══╡ EXCEPTION CAUGHT BY FOUNDATION LIBRARY ╞════════════════════════════════════════════════════════
The following assertion was thrown while dispatching notifications for ValueNotifier<bool>:
Build scheduled during frame.
While the widget tree was being built, laid out, and painted, a new frame was scheduled to rebuild
the widget tree.
This might be because setState() was called from a layout or paint callback. If a change is needed
to the widget tree, it should be applied as the tree is being built. Scheduling a change for the
subsequent frame instead results in an interface that lags behind by one frame. If this was done to
make your build dependent on a size measured at layout time, consider using a LayoutBuilder,
CustomSingleChildLayout, or CustomMultiChildLayout. If, on the other hand, the one frame delay is
the desired effect, for example because this is an animation, consider scheduling the frame in a
post-frame callback using SchedulerBinding.addPostFrameCallback or using an AnimationController to
trigger the animation.
When the exception was thrown, this was the stack:
#0 WidgetsBinding._handleBuildScheduled.<anonymous closure> (package:flutter/src/widgets/binding.dart:849:9)
#1 WidgetsBinding._handleBuildScheduled (package:flutter/src/widgets/binding.dart:872:6)
#2 BuildOwner.scheduleBuildFor (package:flutter/src/widgets/framework.dart:2721:24)
#3 Element.markNeedsBuild (package:flutter/src/widgets/framework.dart:5050:12)
#4 State.setState (package:flutter/src/widgets/framework.dart:1223:15)
#5 _MenuAnchorState._close (package:flutter/src/material/menu_anchor.dart:563:7)
#6 _MenuAnchorState._handleScroll (package:flutter/src/material/menu_anchor.dart:472:13)
#7 ChangeNotifier.notifyListeners (package:flutter/src/foundation/change_notifier.dart:433:24)
#8 ValueNotifier.value= (package:flutter/src/foundation/change_notifier.dart:555:5)
#9 ScrollPosition.beginActivity (package:flutter/src/widgets/scroll_position.dart:1003:25)
#10 ScrollPositionWithSingleContext.beginActivity
(package:flutter/src/widgets/scroll_position_with_single_context.dart:113:11)
#11 ScrollPositionWithSingleContext.goBallistic
(package:flutter/src/widgets/scroll_position_with_single_context.dart:146:7)
#12 IdleScrollActivity.applyNewDimensions (package:flutter/src/widgets/scroll_activity.dart:159:14)
#13 ScrollPosition.applyNewDimensions (package:flutter/src/widgets/scroll_position.dart:706:15)
#14 ScrollPositionWithSingleContext.applyNewDimensions
(package:flutter/src/widgets/scroll_position_with_single_context.dart:102:11)
#15 ScrollPosition.applyContentDimensions (package:flutter/src/widgets/scroll_position.dart:635:7)
#16 _RenderSingleChildViewport.performLayout (package:flutter/src/widgets/single_child_scroll_view.dart:499:12)
#17 RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#18 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#19 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#20 RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#21 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#22 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#23 RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#24 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#25 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#26 RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#27 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#28 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#29 RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#30 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#31 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#32 RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#33 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#34 RenderProxyBoxMixin.performLayout (package:flutter/src/rendering/proxy_box.dart:104:21)
#35 RenderObject.layout (package:flutter/src/rendering/object.dart:2546:7)
#36 RenderBox.layout (package:flutter/src/rendering/box.dart:2389:11)
#37 MultiChildLayoutDelegate.layoutChild (package:flutter/src/rendering/custom_layout.dart:173:12)
#38 _ScaffoldLayout.performLayout (package:flutter/src/material/scaffold.dart:1062:7)
#39 MultiChildLayoutDelegate._callPerformLayout (package:flutter/src/rendering/custom_layout.dart:237:7)
#40 RenderCustomMultiChildLayoutBox.performLayout (package:flutter/src/rendering/custom_layout.dart:403:14)
#41 RenderObject._layoutWithoutResize (package:flutter/src/rendering/object.dart:2385:7)
#42 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1025:18)
#43 PipelineOwner.flushLayout (package:flutter/src/rendering/object.dart:1038:15)
#44 RendererBinding.drawFrame (package:flutter/src/rendering/binding.dart:591:23)
#45 WidgetsBinding.drawFrame (package:flutter/src/widgets/binding.dart:986:13)
#46 RendererBinding._handlePersistentFrameCallback (package:flutter/src/rendering/binding.dart:457:5)
#47 SchedulerBinding._invokeFrameCallback (package:flutter/src/scheduler/binding.dart:1325:15)
#48 SchedulerBinding.handleDrawFrame (package:flutter/src/scheduler/binding.dart:1255:9)
#49 SchedulerBinding._handleDrawFrame (package:flutter/src/scheduler/binding.dart:1113:5)
#50 _invoke (dart:ui/hooks.dart:312:13)
#51 PlatformDispatcher._drawFrame (dart:ui/platform_dispatcher.dart:383:5)
#52 _drawFrame (dart:ui/hooks.dart:283:31)
The ValueNotifier<bool> sending notification was:
ValueNotifier<bool>#01070(true)
════════════════════════════════════════════════════════════════════════════════════════════════════Flutter Doctor output
Doctor output
[✓] Flutter (Channel master, 3.16.0-2.0.pre.6, on macOS 13.5.2 22G91 darwin-arm64, locale en-VN)
• Flutter version 3.16.0-2.0.pre.6 on channel master at /Users/howl/development/flutter
• Upstream repository https://github.com/flutter/flutter.git
• Framework revision bfd4cf6a2b (77 minutes ago), 2023-10-02 12:12:14 -0400
• Engine revision c0cf135b11
• Dart version 3.2.0 (build 3.2.0-221.0.dev)
• DevTools version 2.28.1
[✓] Android toolchain - develop for Android devices (Android SDK version 34.0.0)
• Android SDK at /Users/howl/Library/Android/sdk
• Platform android-34, build-tools 34.0.0
• ANDROID_HOME = /Users/howl/Library/Android/sdk
• Java binary at: /Applications/Android Studio.app/Contents/jbr/Contents/Home/bin/java
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
• All Android licenses accepted.
[✓] Xcode - develop for iOS and macOS (Xcode 15.0)
• Xcode at /Applications/Xcode.app/Contents/Developer
• Build 15A240d
• CocoaPods version 1.13.0
[✓] Chrome - develop for the web
• Chrome at /Applications/Google Chrome.app/Contents/MacOS/Google Chrome
[✓] Android Studio (version 2022.2)
• Android Studio at /Applications/Android Studio.app/Contents
• Flutter plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/9212-flutter
• Dart plugin can be installed from:
🔨 https://plugins.jetbrains.com/plugin/6351-dart
• Java version OpenJDK Runtime Environment (build 17.0.6+0-17.0.6b802.4-9586694)
[✓] VS Code (version 1.82.2)
• VS Code at /Applications/Visual Studio Code.app/Contents
• Flutter extension version 3.74.0
[✓] Connected device (3 available)
• iPorn 14 (mobile) • 00008120-001A593811E0C01E • ios • iOS 17.0 21A329
• iPhone 15 Pro Max (mobile) • E1D76201-773A-4AF6-9CBC-19AF1A033835 • ios • com.apple.CoreSimulator.SimRuntime.iOS-17-0
(simulator)
• Chrome (web) • chrome • web-javascript • Google Chrome 117.0.5938.132
[✓] Network resources
• All expected network resources are available.
• No issues found!Metadata
Metadata
Assignees
Labels
a: error messageError messages from the Flutter frameworkError messages from the Flutter frameworka: text inputEntering text in a text field or keyboard related problemsEntering text in a text field or keyboard related problemsf: material designflutter/packages/flutter/material repository.flutter/packages/flutter/material repository.found in release: 3.13Found to occur in 3.13Found to occur in 3.13found in release: 3.16Found to occur in 3.16Found to occur in 3.16frameworkflutter/packages/flutter repository. See also f: labels.flutter/packages/flutter repository. See also f: labels.has reproducible stepsThe issue has been confirmed reproducible and is ready to work onThe issue has been confirmed reproducible and is ready to work onr: fixedIssue is closed as already fixed in a newer versionIssue is closed as already fixed in a newer versionteam-designOwned by Design Languages teamOwned by Design Languages team