You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在ListView中展示列表内的多个ListTile?代码无效果求解

解决方法

你的代码问题出在ListView.builder的itemBuilder回调里——只获取了对应的ListTile但没有返回它,导致列表无法渲染任何内容。只需在回调中添加返回语句即可:

修改后的完整代码:

class _MenuListState extends State<MenuList> {

  List<ListTile> menu = [
    ListTile(
      leading: Icon(Icons.featured_play_list),
      title: Text('Playlists'),
    ),
    ListTile(
      leading: Icon(Icons.send),
      title: Text('Menu...'),
    ),
    ListTile(
      leading: Icon(Icons.logout),
      title: Text('Logout'),
    ),
  ];

  @override
  Widget build(BuildContext context) {
    return Scaffold(
      body: ListView.builder(
        itemCount: menu.length,
        itemBuilder: (BuildContext context, int index) {
          final menuList = menu[index];
          return menuList; // 添加返回语句
        },
      ),
    );
  }
}

你也可以简化写法,省去中间变量直接返回目标元素:

itemBuilder: (BuildContext context, int index) {
  return menu[index];
},

修改完成后,ListView会逐个渲染你定义的所有ListTile,屏幕上就能显示完整的菜单列表了。

内容的提问来源于stack exchange,提问作者JYX

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.23 08:25:01