title: Listview Builder causing reload Consumer in Flutter
body: <p>I am using Listview inside Consumer, and when ever I scroll down, then it reloads the Consumer provider.</p>
  
  <p>Here is my complete code.</p>
  
  <pre><code>class UnitScreen extends StatefulWidget {
    @override
    _UnitScreenState createState() =&gt; _UnitScreenState();
  }
  
  class _UnitScreenState extends State&lt;UnitScreen&gt; {
    Future&lt;void&gt; _getUnits(BuildContext context) async {
      return Provider.of&lt;UnitProvider&gt;(context, listen: false).getUnits();
    }
  
    Widget _buildUnits(List&lt;Unit&gt; units) {
      return ListView.builder(
        itemCount: units.length,
        itemBuilder: (BuildContext ctx, index) =&gt; DisplayItem(
          title: units[index].name,
          id: units[index].id
        ),
      );
    }
  
    @override
    void initState() {
      Future.delayed(Duration.zero, () {
        _getUnits(context);
      });
      super.initState();
    }
  
    @override
    Widget build(BuildContext context) {
      print('inside build');
      return Scaffold(
          appBar: SearchableAppBar(
            title: "Unit"
          ),
          drawer: AppDrawer(),
          body: RefreshIndicator(
              onRefresh: () =&gt; _getUnits(context),
              child: Consumer&lt;UnitProvider&gt;(builder: (ctx, snapshot, child) {
                print('inside consumer');
                switch (snapshot.unitList.status) {
                  case Status.LOADING:
                    return Center(child: CircularProgressIndicator());
                    break;
                  case Status.COMPLETED:
                    return _buildUnits(snapshot.unitList.data);
                    break;
                  default:
                    return ErrorWithRetry();
                }
              }));
    }
  }
  </code></pre>
  
  <p>After loading Units, when I scroll down, then it reload Consumer, as you can see, I have called print method inside consumer and I can see <strong>inside consumer</strong> multiple times in Debug Console.</p>
  
  <p>I am new to flutter, so Is it a default behavior or am I doing something wrong here?</p>