简体   繁体   English

如何在 Flutter 中的 ListView.builder 中使用特定小部件

[英]How to use a particular widget inside a ListView.builder in Flutter

I am trying to insert a widget inside a ListView.builder .我正在尝试在ListView.builder插入一个小部件。

I tried creating a separate list and include it in the ListView but no results.我尝试创建一个单独的列表并将其包含在 ListView 中,但没有结果。 I even tried nested ListView.builder .我什至尝试过嵌套ListView.builder

Any suggestion?有什么建议吗?

Check this out.看一下这个。

ListView.builder(
itemCount: dataLists.lists.length,
  itemBuilder: (context, index) {
    return Widget(dataLists.lists[index]);
  },
);`

 

create a listOfWidget, use statefullWidget and any changes on widget will reflect to the UI.创建一个 listOfWidget,使用statefullWidget并且小部件上的任何更改都将反映到 UI。 make changes inside setState() .setState()内进行更改。

here is full widget这是完整的小部件

import 'package:flutter/material.dart';

class DynamicListView extends StatefulWidget {
  DynamicListView({Key? key}) : super(key: key);

  @override
  _DynamicListViewState createState() => _DynamicListViewState();
}

class _DynamicListViewState extends State<DynamicListView> {
  List<Widget> widgets = List.generate(
    4,
    (index) => Container(
      height: 50,
      color: index % 2 == 0 ? Colors.cyanAccent : Colors.pinkAccent,
      child: Text("item $index"),
    ),
  );

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView.builder(
        itemCount: widgets.length,
        itemBuilder: (context, index) => widgets[index],
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: () {
          setState(() {
            widgets.add(Container(
              height: 60,
              color: Colors.amber,
              child: Text("new Widget"),
            ));
          });
        },
      ),
    );
  }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM