如何在ListView中显示ListTiles

问题描述 投票:0回答:2

我正在开发一个排行榜系统,它对地图进行排序,并在 listView 内的 listTile 上显示键,但是当我重新加载应用程序时,它不会显示任何 listTiles 任何帮助表示赞赏 这是这个小部件的代码

import 'package:flutter/material.dart';
import 'package:flutter_screenutil/flutter_screenutil.dart';

Map players = {"Hello": 1468, "Ableflyer": 1820, "crazyman": 1536, "gottoosilly": 2160};
Map sortplayer = Map.fromEntries(players.entries.toList()..sort((e1, e2) => e1.value.compareTo(e2.value)));
class daily extends StatelessWidget {
  const daily({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        ListView.builder(
          itemCount: sortplayer.length,
          itemBuilder: (BuildContext context, int index){
            return ListTile(
              title: Text(
                  sortplayer.keys.elementAt(index).toString()
              ),
            );
          },
        )
      ],
    );
  }
}
flutter dart listview
2个回答
2
投票

ListView
小部件包裹您的
Expanded

class daily extends StatelessWidget {
  const daily({Key? key}) : super(key: key);
  @override
  Widget build(BuildContext context) {
    return Column(
      children: [
        Expanded(
          child: ListView.builder(
            itemCount: sortplayer.length,
            itemBuilder: (BuildContext context, int index) {
              return ListTile(
                title: Text(sortplayer.keys.elementAt(index).toString()),
              );
            },
          ),
        )
      ],
    );
  }
}

我强烈建议您查看此视频


0
投票

你可以尝试用这段代码替换ListView.builder吗

 ListView.builder(
  itemCount: sortplayer.length,
  itemBuilder: (BuildContext context, int index){
    var player = sortplayer.entries.toList()[index];
    return ListTile(
      title: Text(player.key),
    );
  },
)

请告诉我这对您是否有帮助

© www.soinside.com 2019 - 2024. All rights reserved.