Any time we do a hot reload the .toggle(), .open(), ... Comes as null
The Code
import 'package:awesome_drawer_bar/awesome_drawer_bar.dart';
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(
primarySwatch: Colors.blue,
),
home: MyHomeView(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomeView extends StatelessWidget {
MyHomeView({
super.key,
required this.title,
});
final String title;
final drawerController = AwesomeDrawerBarController();
@override
Widget build(BuildContext context) {
return AwesomeDrawerBar(
controller: drawerController,
mainScreen: MyHomePage(
title: title,
toggle: () => drawerController.toggle!(),
),
menuScreen: const Sidebar(),
);
}
}
class Sidebar extends StatelessWidget {
const Sidebar({Key? key}) : super(key: key);
@override
Widget build(BuildContext context) {
return const Scaffold(
backgroundColor: Colors.black,
body: Text('Sidebar'),
);
}
}
class MyHomePage extends StatelessWidget {
const MyHomePage({super.key, required this.title, this.toggle});
final Function? toggle;
final String title;
@override
Widget build(BuildContext context) {
return Scaffold(
appBar: AppBar(
leading: IconButton(
onPressed: () => toggle!() ?? {},
icon: const Icon(Icons.menu),
),
title: Text(title),
),
body: Padding(
padding: const EdgeInsets.all(16.0),
child: Text(
'Try to Open the Drawer using the swipe action or the top menu icon',
style: Theme.of(context).textTheme.bodyLarge,
),
),
);
}
}
The error
══╡ EXCEPTION CAUGHT BY GESTURE ╞═══════════════════════════════════════════════════════════════════
The following _TypeError was thrown while handling a gesture:
Null check operator used on a null value
When the exception was thrown, this was the stack:
#0 MyHomeView.build.<anonymous closure> (package:example/main.dart:41:46)
#1 MyHomePage.build.<anonymous closure> (package:example/main.dart:71:35)
#2 _InkResponseState.handleTap (package:flutter/src/material/ink_well.dart:1183:21)
#3 GestureRecognizer.invokeCallback (package:flutter/src/gestures/recognizer.dart:275:24)
#4 TapGestureRecognizer.handleTapUp (package:flutter/src/gestures/tap.dart:652:11)
#5 BaseTapGestureRecognizer._checkUp (package:flutter/src/gestures/tap.dart:309:5)
#6 BaseTapGestureRecognizer.acceptGesture (package:flutter/src/gestures/tap.dart:279:7)
#7 GestureArenaManager.sweep (package:flutter/src/gestures/arena.dart:167:27)
#8 GestureBinding.handleEvent (package:flutter/src/gestures/binding.dart:492:20)
#9 GestureBinding.dispatchEvent (package:flutter/src/gestures/binding.dart:468:22)
#10 RendererBinding.dispatchEvent (package:flutter/src/rendering/binding.dart:439:11)
#11 GestureBinding._handlePointerEventImmediately (package:flutter/src/gestures/binding.dart:413:7)
#12 GestureBinding.handlePointerEvent (package:flutter/src/gestures/binding.dart:376:5)
#13 GestureBinding._flushPointerEventQueue (package:flutter/src/gestures/binding.dart:323:7)
#14 GestureBinding._handlePointerDataPacket (package:flutter/src/gestures/binding.dart:292:9)
#15 _invoke1 (dart:ui/hooks.dart:328:13)
#16 PlatformDispatcher._dispatchPointerDataPacket (dart:ui/platform_dispatcher.dart:410:7)
#17 _dispatchPointerDataPacket (dart:ui/hooks.dart:262:31)
Handler: "onTap"
Recognizer:
TapGestureRecognizer#08c69
════════════════════════════════════════════════════════════════════════════════════════════════════
Another exception was thrown: Null check operator used on a null value
Any time we do a hot reload the
.toggle()
,.open()
, ... Comes as nullThe Code
The error