ListView with Tiles not working in Flutter

5,887

Solution 1

I don't know what was your earlier code. If you can post your earlier code than I can explain you the exception.

Here is the simplified version of the code.

class MyApp extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      home: Scaffold(
          appBar: AppBar(
            title: Text("CH Station Demo"),
          ),
          body: DepartureCell()),
      //home: TrackerApp(),
    );
  }
}

class DepartureCell extends StatelessWidget {
  @override
  Widget build(BuildContext context) {
    return ListView.builder(
        padding: EdgeInsets.all(8.0),
        itemCount: 10,
        itemBuilder: (context, index) {
          return ListTile(
            title: Text("Test"),
            onTap: () {},
            trailing: Text("Test2"),
          );
        });
  }
}

Solution 2

I had same issue .... after doing some hit and try i found that issue generates when device screen is locked or off.

unlock screen and reload/rerun app from editor may fix the issue as it does for me.

Share:
5,887
iKK
Author by

iKK

Updated on December 08, 2022

Comments

  • iKK
    iKK over 1 year

    Why is my ListView not showing the expected tiles ?

    class DepartureCell extends StatelessWidget {
    
      @override
      Widget build(BuildContext context) {
        return ListView.builder(
          itemCount: 20,
          itemBuilder: (BuildContext context, int index) {
            return ListTile(
              title: new Text("Test"),
              onTap: () {},
            );
          }
        );
      }
    }
    

    The error says:

    flutter: ══╡ EXCEPTION CAUGHT BY RENDERING LIBRARY ╞═════════════════════════════════════════════════════════
    flutter: The following assertion was thrown during performResize():
    flutter: Vertical viewport was given unbounded height.
    flutter: Viewports expand in the scrolling direction to fill their container.In this case, a vertical
    flutter: viewport was given an unlimited amount of vertical space in which to expand. This situation
    flutter: typically happens when a scrollable widget is nested inside another scrollable widget.
    flutter: If this widget is always nested in a scrollable widget there is no need to use a viewport because
    flutter: there will always be enough vertical space for the children. In this case, consider using a Column
    flutter: instead. Otherwise, consider using the "shrinkWrap" property (or a ShrinkWrappingViewport) to size
    flutter: the height of the viewport to the sum of the heights of its children.
    

    Since there is something going on with the unbound height, I also tried the following:

    Code also not working:

    class DepartureCell extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return ListView.builder(
          itemCount: 20,
          itemBuilder: (BuildContext context, int index) {
            return SizedBox(
              width: double.infinity,
              height: 40.0,
              child: ListTile(
                title: Text("Test"),
                onTap: () {},
                trailing: Text("Test"),
              ),
            );
          }
        );
      }
    }
    

    How can I get this to work in Flutter ???

    I also tried with Column - but same thing....not working !

    Here the Column-code that is, again not working:

    class DepartureCell extends StatelessWidget {
      @override
      Widget build(BuildContext context) {
        return Column(
          children: <Widget>[
            ListView.builder(
              padding: EdgeInsets.all(0.0),
              itemCount: 10,
              itemBuilder: (BuildContext context, int position) {
                return SizedBox(
                  width: double.infinity,
                  height: 40.0,
                  child:ListTile(
                    title: Text("Test"),
                    onTap: () {},
                    trailing: Text("Test"),
                  ),
                );
              }
            ),
          ]
        );
      }
    }
    
    • Dhrumil Shah - dhuma1981
      Dhrumil Shah - dhuma1981 over 5 years
      Where you are using DepartureCell()? please put that code.
  • iKK
    iKK over 5 years
    Thank you, dhuma ! This helped. My earlier code was identical (i.e. calling DepartureCell inside body of MyApp Widget, however, it was wrapped inside Expanded and Column. That was a mistake I see !)...