Создаем портфолио за 1 месяц
К концу месяца: 4 классных проекта в вашем портфолио! Стоимость: 100$. Подробности...
⊗flPmLsBd 50 of 125 menu
◀ ▶

ListView.builder в Flutter

Если заранее создать сотни виджетов в children, приложение потратит память и время на то, что пользователь может так и не увидеть. Конструктор ListView.builder у ListView создаёт строку только когда она попадает на экран или рядом с ним.

Передают itemCount - сколько элементов в данных - и itemBuilder: функцию (context, index) => ..., которая по номеру строки возвращает виджет. Индекс идёт от нуля до itemCount - 1:

import 'package:flutter/material.dart'; void main() { runApp(const MaterialApp(home: HomePage())); } class HomePage extends StatelessWidget { const HomePage({super.key}); static const rowCount = 50; @override Widget build(BuildContext context) { return Scaffold( body: ListView.builder( itemCount: rowCount, itemBuilder: (context, index) { return ListTile( title: Text('Row ${index + 1}'), ); }, ), ); } }

Соберите ListView.builder на 30 строк. В заголовке каждой ListTile выведите текст 'Item ' и номер строки, начиная с 1.

← →
↑
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить