← All courses

Lists & Navigation

🗓 May 31, 2026 ⏱ 1 min read

ListView.builder

ListView.builder(
  itemCount: users.length,
  itemBuilder: (context, index) => ListTile(
    leading: const Icon(Icons.person),
    title: Text(users[index]),
    onTap: () { /* open */ },
  ),
)

Navigate to a screen

Navigator.push(
  context,
  MaterialPageRoute(builder: (_) => ProfilePage(user: user)),
);

Navigator.pop(context);  // go back

Named routes

MaterialApp(
  routes: {
    '/': (_) => const HomePage(),
    '/profile': (_) => const ProfilePage(),
  },
);
Navigator.pushNamed(context, '/profile');
Tip: for bigger apps use the go_router package for clean, URL-based, deep-link-friendly navigation.