首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振: ListView.Builder型Map<String,T>

颤振: ListView.Builder型Map<String,T>
EN

Stack Overflow用户
提问于 2019-06-03 09:12:52
回答 1查看 3.9K关注 0票数 1

我已经下拉了体育列表,每当用户从下拉列表中选择体育项目时,所选的体育项目将存储在Map中,并将在ListView中更新,以便用户能够看到所选的体育项目。我能够在地图中添加体育,同时从下拉菜单中选择并得到所选运动的正确长度,但我必须在ListView中显示,当我试图在索引处获得体育名称时,它显示为空值。如何在列表查看项中从地图中显示选定的体育项目

代码语言:javascript
复制
Map<String,Sports> _selectedSports = new Map<String,Sports>();

ListView.builder(
shrinkWrap: true,
physics: const NeverScrollableScrollPhysics(),
itemCount: _selectedSports!=null?_selectedSports.length:0, itemBuilder: 
(BuildContext ctxt, int index) {return new Text('Sports 
${_selectedSports[index].names}');})// showing null here



 ${_selectedSports['1'].names}// but it is returning value by key

我正在从下拉列表的onChanged中成功地在地图中添加项目

代码语言:javascript
复制
void changedDropDownSportsItems(Sports selectedSports) {
     print("Selected Sport ${selectedSports.names}");
     _selectedSports[selectedSports.id.toString()] = selectedSports;
    setState(() {
      _currentSportsBar  = selectedSports;
      _selectedSports;
      print("Selected Sports size ${_selectedSports.length}");

    });
  }

当我试图按键获得值时,它返回名称,但从索引中返回null。

EN

回答 1

Stack Overflow用户

发布于 2019-06-03 10:21:39

更新尝试如下

代码语言:javascript
复制
 Column(
            children: _selectedSports.values
                .toList()
                .map((value) => Text('Sports ${value.names}'))
                .toList())
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56424257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档