ListView动态列表组件 以及循环动态数据

动态listviev
import ‘res/listData.dart’;

  List listData=[
      {
          "title": 'Candy Shop',
          "author": 'Mohamed Chahin',
          "imageUrl": 'https://www.xxx.com/images/flutter/1.png',
      },
       {
          "title": 'Childhood in a picture',
          "author": 'Google',
           "imageUrl": 'https://www.xxx.com/images/flutter/1.png',,
      },
      {
          "title": 'Alibaba Shop',
          "author": 'Alibaba',
          "imageUrl": 'https://www.xxx.com/images/flutter/3.png',
      },
      {
          "title": 'Candy Shop',
          "author": 'Mohamed Chahin',
          "imageUrl": 'https://wwxx.com/images/flutter/4.png',
      },
       {
          "title": 'Tornado',
          "author": 'Mohamed Chahin',
          "imageUrl": 'https://www.xxx.com/images/flutter/5.png',
      },
  
  ];

渲染数据

class HomeContent extends StatelessWidget {  


  //自定义方法
  List<Widget> _getData(){      
    var tempList=listData.map((value){
        return ListTile(
          leading:Image.network(value["imageUrl"]),
          title:Text(value["title"]),
          subtitle:Text(value["author"])
        );
    });
    // ('124124','124214')
    return tempList.toList();
  }

  @override
  Widget build(BuildContext context) {    
    // TODO: implement build
    return ListView(
      children: this._getData(),
    );
  }
}

或者动态的通过for添加数据

class HomeContent extends StatelessWidget {  

  List list=new List();
  HomeContent(){
     for(var i=0;i<20;i++){
        this.list.add('我是第$i条');
      }
  }  
  @override
  Widget build(BuildContext context) {    
    // TODO: implement build
    return ListView.builder(
        itemCount:this.list.length,
        itemBuilder:(context,index){
          return ListTile(
            title: Text(this.list[index]),
          );
        }
    );
  }
}

模拟数据库返回的数据

class HomeContent extends StatelessWidget {  


  //自定义方法
  Widget _getListData(context,index){
        return ListTile(           
            title: Text(listData[index]["title"]),
            leading:Image.network(listData[index]["imageUrl"]),          
            subtitle:Text(listData[index]["author"])
        );
  }

  @override
  Widget build(BuildContext context) {    
    // TODO: implement build
    return ListView.builder(
        itemCount:listData.length,
        itemBuilder:this._getListData
    );
  }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要在Delphi中将数据显示ListView控件中,你可以使用TListView组件和TListItem对象来实现。以下是一个简单的示例代码: ```delphi uses Classes, ComCtrls; procedure DisplayDataInListView(ListView: TListView); var ListItem: TListItem; begin // 清除ListView中的所有项 ListView.Items.Clear; // 假设你有一个名为Data的TStrings对象,其中包含要显示数据 // 在这里你可以将Data替换为你自己的数据源 for i := 0 to Data.Count - 1 do begin ListItem := ListView.Items.Add; ListItem.Caption := Data[i]; // 设置第一列的数据 // 如果有多个列,可以使用SubItems属性设置其他列的数据 ListItem.SubItems.Add(Data[i+1]); // 设置第二列的数据 ListItem.SubItems.Add(Data[i+2]); // 设置第三列的数据 // ... // 还可以根据需要设置其他属性,如图标、颜色等 // ListItem.ImageIndex := 0; // 设置图标索引 // ListItem.Color := clYellow; // 设置背景颜色 // ... end; end; ``` 在这个示例代码中,我们假设你已经有一个名为Data的TStrings对象,其中包含要显示ListView中的数据。通过循环遍历Data中的每个元素,我们创建一个新的TListItem对象并将数据分配给它的Caption属性(第一列)。如果你的ListView有多个列,你可以使用SubItems属性将数据分配给其他列。最后,我们可以根据需要设置其他属性,如图标、颜色等。 请注意,在使用之前,确保你已经在Delphi的Form中放置了一个TListView控件,并设置了合适的列数和属性。 这只是一个简单的示例代码,你可以根据自己的需求和数据结构进行修改和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值