ListView.builder en Flutter: ejercicio resuelto con lista dinamica

  2 minutos

Si buscas ListView.builder en Flutter, este ejercicio muestra como pintar listas largas sin penalizar rendimiento.

Crea una pantalla con una lista de 100 elementos y muestra el índice en cada fila.

import 'package:flutter/material.dart';

void main() => runApp(const MaterialApp(home: ListPage()));

class ListPage extends StatelessWidget {
  const ListPage({super.key});

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      appBar: AppBar(title: const Text('ListView.builder')),
      body: ListView.builder(
        itemCount: 100,
        itemBuilder: (context, index) {
          return ListTile(
            leading: CircleAvatar(child: Text('${index + 1}')),
            title: Text('Elemento ${index + 1}'),
            subtitle: const Text('Renderizado eficiente'),
          );
        },
      ),
    );
  }
}

Una lista fluida que solo crea en memoria los widgets visibles en pantalla.

  • Usar ListView(children: ...) para listas muy largas.
  • No definir itemCount.
  • Cargar logica pesada dentro de itemBuilder.

Este patrón se usa en feeds, listados de productos, chat y resultados de búsqueda.

Cuándo tienes listas medianas o largas y quieres mejor rendimiento.

Sí. Es una base común para scroll infinito y carga por bloques.

Sí. Es uno de los widgets más usados en apps Flutter reales.