title: Why does this FAB not update the state?
body: <p>I have followed as best I can this question: <a href="https://stackoverflow.com/questions/59276419/adding-new-listtile-item-on-click?noredirect=1&amp;lq=1">Adding new ListTile item on click</a></p>
  
  <p>Though it is not necessarily as reproducible as it could be, I've created something that compiles, but does not run as expected:</p>
  
  <pre><code>import 'package:flutter/material.dart';
  
  void main() =&gt; runApp(SeedBank());
  
  class SeedBank extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        theme: ThemeData(
          primaryColor: Colors.lightGreen,
        ),
        home: Seeds(),
      );
    }
  }
  
  class Seeds extends StatefulWidget {
    @override
    SeedsState createState() =&gt; SeedsState();
  }
  
  class SeedsState extends State&lt;Seeds&gt; {
    var _seedSection = List&lt;Widget&gt;();
  
    Card seedSectionMethod(String title, String subtitle) {
      return new Card(
        child: ListTile(
            title: Text(
              title,
              style: TextStyle(fontWeight: FontWeight.bold),
            ),
            subtitle: Text(subtitle),
            trailing: Icon(Icons.more_vert)),
      );
    }
  
    void initState() {
      super.initState();
      _seedSection.add(
        seedSectionMethod("Leek", "Bulgaarse Reuzen - Lincoln"),
      );
      _seedSection.add(
        seedSectionMethod("Kale", "Jardin mix"),
      );
      _seedSection.add(
        seedSectionMethod("Sunflower", "Helianthus Red"),
      );
    }
  
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: Text('Seed Bank'),
        ),
        body: ListView(
          children: this._seedSection,
        ),
        floatingActionButton: FloatingActionButton(
          child: Text("+"),
          onPressed: () {
            setState(() {
              _seedSection.add(
                seedSectionMethod("New Seed", "With notes"),
              );
            });
          },
          backgroundColor: Colors.lightGreenAccent,
        ),
      );
    }
  }
  </code></pre>
  
  <p>The desired behaviour is:</p>
  
  <ul>
  <li>on app startup, that the three 'cards' with the seeds are populated.</li>
  <li>on button press, a new 'card' is added with the values <code>"new Seed"</code> and <code>"with notes"</code>.</li>
  </ul>
  
  <p>I expect I have missed something basic in flutter about setting state (only started yesterday), but I'm in a rut about where to go next to understand it more.</p>
  
  <h2>V2:</h2>
  
  <p>using @andrea689, I can compile, but have hit the same problem again:</p>
  
  <pre><code>class SeedsState extends State&lt;Seeds&gt; {
    var _seedSection = List&lt;Widget&gt;();
  
    var _seeds = [
      ["Leek", "Bulgaarse Reuzen - Lincoln"],
      ["Kale", "Jardin mix"],
      ["Sunflower", "Helianthus Red"],
    ];
  
    Card seedSectionMethod(String title, String subtitle) {
      return new Card(
        child: ListTile(
            title: Text(
              title,
              style: TextStyle(fontWeight: FontWeight.bold),
            ),
            subtitle: Text(subtitle),
            trailing: Icon(Icons.more_vert)),
      );
    }
  
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: Text('Seed Bank'),
        ),
        body:  ListView.builder(
          itemCount: _seedSection.length,
          itemBuilder: (context, index) {
            return seedSectionMethod(_seeds[index][0], _seeds[index][1]);
          },
        ),
        floatingActionButton: FloatingActionButton(
          child: Text("+"),
          onPressed: () {
            setState(() {
              _seeds.add(["New Seed", "With notes"]);
            });
          },
          backgroundColor: Colors.lightGreenAccent,
        ),
      );
    }
  }
  </code></pre>
  
  <p>Is this how the class is supposed to look? It's now not adding a new item again.</p>
  
  <h1>Final Solution</h1>
  
  <pre><code>import 'package:flutter/material.dart';
  
  void main() =&gt; runApp(SeedBank());
  
  class SeedBank extends StatelessWidget {
    @override
    Widget build(BuildContext context) {
      return MaterialApp(
        theme: ThemeData(
          primaryColor: Colors.lightGreen,
        ),
        home: Seeds(),
      );
    }
  }
  
  class Seeds extends StatefulWidget {
    @override
    SeedsState createState() =&gt; SeedsState();
  }
  
  class SeedsState extends State&lt;Seeds&gt; {
    var _seeds = [
      ["Leek", "Bulgaarse Reuzen - Lincoln"],
      ["Kale", "Jardin mix"],
      ["Sunflower", "Helianthus Red"],
    ];
  
    Card seedSectionMethod(String title, String subtitle) {
      return new Card(
        child: ListTile(
            title: Text(
              title,
              style: TextStyle(fontWeight: FontWeight.bold),
            ),
            subtitle: Text(subtitle),
            trailing: Icon(Icons.more_vert)),
      );
    }
  
    Widget build(BuildContext context) {
      return Scaffold(
        appBar: AppBar(
          title: Text('Seed Bank'),
        ),
        body: ListView.builder(
          itemCount: _seeds.length,
          itemBuilder: (context, index) {
            return seedSectionMethod(_seeds[index][0], _seeds[index][1]);
          },
        ),
        floatingActionButton: FloatingActionButton(
          child: Text("+"),
          onPressed: () {
            setState(() {
              setState(() {
                _seeds.add(["New Seed", "With notes"]);
              });
            });
          },
          backgroundColor: Colors.lightGreenAccent,
        ),
      );
    }
  }
  </code></pre>