如何在 list.builder 中将类转换为列表视图

Posted

技术标签:

【中文标题】如何在 list.builder 中将类转换为列表视图【英文标题】:How to convert class to listview in list.builder 【发布时间】:2020-07-03 22:54:39 【问题描述】:

我正在使用一个名为 Flutter 的 Icapp_license 会创建一个文件,其中包含您使用的插件的所有许可证,因此输出就是这个文件,我想转换为 listview

生成 在此处归档link

【问题讨论】:

【参考方案1】:

您可以在下面复制粘贴运行完整代码 执行命令后flutter packages pub run icapps_license license.dart 将自动生成在目录util 你可以import './util/license.dart';

代码sn-p

ListView.builder(
      itemCount: LicenseUtil.getLicenses().length,
      itemBuilder: (BuildContext context, int index) 
        final item = LicenseUtil.getLicenses()[index];

工作演示

完整代码

import 'package:flutter/material.dart';
import './util/license.dart';

void main() 
  runApp(MyApp());


class MyApp extends StatelessWidget 
  @override
  Widget build(BuildContext context) 
    return MaterialApp(
      title: 'Flutter Demo',
      theme: ThemeData(
        primarySwatch: Colors.blue,
      ),
      home: MyHomePage(title: 'Flutter Demo Home Page'),
    );
  


class MyHomePage extends StatefulWidget 
  MyHomePage(Key key, this.title) : super(key: key);

  final String title;

  @override
  _MyHomePageState createState() => _MyHomePageState();


class _MyHomePageState extends State<MyHomePage> 
  int _counter = 0;

  void _incrementCounter() 
    setState(() 
      _counter++;
    );
  

  @override
  Widget build(BuildContext context) 
    return Scaffold(
      appBar: AppBar(
        title: Text(widget.title),
      ),
      body: Center(
        child: ListView.builder(
          itemCount: LicenseUtil.getLicenses().length,
          itemBuilder: (BuildContext context, int index) 
            final item = LicenseUtil.getLicenses()[index];
            return Padding(
              padding: const EdgeInsets.all(8.0),
              child: Container(
                color: Colors.grey.withOpacity(0.5),
                child: Column(
                  children: [
                    Text(item.name),
                    Text(item.version),
                    Text(item.url),
                    Container(height: 8),
                    Text(item.license),
                  ],
                ),
              ),
            );
          ,
        ),
      ),
      floatingActionButton: FloatingActionButton(
        onPressed: _incrementCounter,
        tooltip: 'Increment',
        child: Icon(Icons.add),
      ),
    );
  

【讨论】:

以上是关于如何在 list.builder 中将类转换为列表视图的主要内容,如果未能解决你的问题,请参考以下文章

如何在 C# 中将嵌套列表转换为 XML

如何在python中将集合转换为列表?

如何在 ColdFusion 中将查询列转换为列表

如何在Python中将字符串列表转换为字典列表[重复]

如何在 Python 中将列表转换为带有空格的字符串?

如何在 py4j 中将 Java 列表转换为 Python 列表