skip to Main Content

I’m trying to adapt flutter source code to create a side panel. My code is this :



class _MyHomePageState extends State<MyHomePage> {
  final GlobalKey<ScaffoldState> _scaffoldKey = GlobalKey<ScaffoldState>();
  void _openEndDrawer(){
    _scaffoldKey.currentState!.openEndDrawer();
  }
  void _closeEndDrawer(){
    Navigator.of(context).pop();
  }
  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: HEADER(appBar:new AppBar()),
      drawer:LeftPanel(drawer: new Drawer()),
      endDrawer:  Drawer(
        child: Center(
          child: Column(
            mainAxisAlignment: MainAxisAlignment.center,
            children: <Widget>[
              const Text('This is the Drawer'),
              ElevatedButton(
                onPressed: _closeEndDrawer,
                child: const Text('Close Drawer'),
     ...
      body: Column(
        children: [
          Row(
            mainAxisAlignment: MainAxisAlignment.center,
            children: [
              SectionTitle(title: "Historial"),
              Padding(
                padding: EdgeInsets.fromLTRB(10, 30, 0, 0),
                child: IconButton (
                  icon: Icon(Icons.filter_alt),
                  onPressed: _openEndDrawer,

......

when i click on the button flutter throws this error :

======== Exception caught by gesture ===============================================================
The following _CastError was thrown while handling a gesture:
Null check operator used on a null value

At this point I don’t know what to do …, Im new codding with flutter

2

Answers


  1. You have missed to attach the scaffold key to the scaffold. Due to that accessing currentState giving the error. so make sure to attach the key using key: _scaffoldKey

      @override
      Widget build(BuildContext context) {
        return Scaffold(
          key: _scaffoldKey,
          appBar: AppBar(title: const Text('Drawer Demo')),
          body: (..)
        );
      }
    
    Login or Signup to reply.
  2. You got an error because your Scaffold key is null

    Scaffold( key: _scaffoldKey,...
    
    Login or Signup to reply.
Please signup or login to give your own answer.
Back To Top
Search