0
0
Fluttermobile~20 mins

ListView.builder in Flutter - Practice Problems & Coding Challenges

Choose your learning style9 modes available
Challenge - 5 Problems
🎖️
ListView.builder Master
Get all challenges correct to earn this badge!
Test your skills under time pressure!
ui_behavior
intermediate
2:00remaining
What is the output of this ListView.builder code?

Consider this Flutter code snippet that builds a list of 3 items:

ListView.builder(
  itemCount: 3,
  itemBuilder: (context, index) {
    return Text('Item $index');
  },
)

What will the user see on the screen?

Flutter
ListView.builder(
  itemCount: 3,
  itemBuilder: (context, index) {
    return Text('Item $index');
  },
)
AA scrollable list showing: Item 0, Item 1, Item 2
BA scrollable list showing: Item 1, Item 2, Item 3
CAn error because itemCount is less than 4
DA blank screen because Text widgets need keys
Attempts:
2 left
💡 Hint

Remember that index starts at 0 and goes up to itemCount - 1.

lifecycle
intermediate
2:00remaining
When does ListView.builder call itemBuilder?

In Flutter, when does the itemBuilder function of ListView.builder get called?

AEvery time an item scrolls into view and needs to be built
BOnly for the first item, then reused for others
COnly once for all items when the ListView is created
DWhen the app starts and never again
Attempts:
2 left
💡 Hint

Think about how Flutter optimizes scrolling lists.

📝 Syntax
advanced
2:00remaining
Which option causes a syntax error in ListView.builder?

Identify which ListView.builder code snippet will cause a syntax error.

Flutter
ListView.builder(
  itemCount: 5,
  itemBuilder: (context, index) {
    return Text('Item $index');
  }
)
AListView.builder(itemCount: 5, itemBuilder: (context, index) { return Text('Item $index'); })
BListView.builder(itemCount: 5, itemBuilder: (context, index) => { Text('Item $index'); })
CListView.builder(itemCount: 5, itemBuilder: (context, index) => Text('Item $index'))
DListView.builder(itemCount: 5, itemBuilder: (context index) { return Text('Item $index'); })
Attempts:
2 left
💡 Hint

Check the syntax of function parameters and arrow functions in Dart.

navigation
advanced
2:00remaining
How to navigate on ListView item tap?

You want to navigate to a detail screen when a user taps an item in ListView.builder. Which code snippet correctly adds tap handling?

Flutter
ListView.builder(
  itemCount: 3,
  itemBuilder: (context, index) {
    return Text('Item $index');
  },
)
AUse onPressed property on Text widget
BAdd onTap directly to Text widget
CWrap Text with GestureDetector and call Navigator.push inside onTap
DWrap Text with Container and add onTap property
Attempts:
2 left
💡 Hint

Remember which widgets handle taps in Flutter.

🔧 Debug
expert
3:00remaining
Why does ListView.builder cause 'RenderBox was not laid out' error?

Given this code snippet inside a Column:

Column(
  children: [
    Text('Header'),
    ListView.builder(
      itemCount: 3,
      itemBuilder: (context, index) => Text('Item $index'),
    ),
  ],
)

Why does this cause a 'RenderBox was not laid out' error?

AitemCount must be null inside Column
BListView.builder has infinite height inside Column without constraints
CColumn cannot have children widgets
DText widget inside ListView.builder is invalid
Attempts:
2 left
💡 Hint

Think about how ListView behaves inside unbounded height parents.