【问题标题】:Flutter: Access Single Entry in MapFlutter:访问 Map 中的单个条目
【发布时间】:2020-05-19 09:57:44
【问题描述】:

如何获得在文本中显示的地图的单个条目?我知道如何在 Text 小部件中列出整个地图,但我不知道如何访问单个值。例如,如何在不显示所有内容的情况下访问“主板”的值?我写了这段代码:

Map<String, int> components = {'cpu': 1, 'gpu': 4, 'mainboard': 3, 'display': 4};

【问题讨论】:

  • 你试过 components['cpu'] 吗?
  • 是的,有一个错误说如下:“参数类型'int'不能分配给参数类型'String'。”
  • 你的map返回类型是int,你需要做map[attribute].toString()

标签: flutter


【解决方案1】:

您的Map 采用Stringint,但您将显示分配给String

display 的值更改为int 并像这样访问这些值:

检查下面的代码:它运行良好:

Map<String, int> components = {'cpu': 1, 'gpu': 4, 'mainboard': 3, 'display': 4};

// assign the value to the Text widget here
Text(components['display].toString())

【讨论】:

  • 哦,是的,这是一个错字。没有直接复制文字。
  • 调试控制台中的打印确实有效,但在文本小部件中无效。
  • 只需将其分配给您的Text 小部件@Berl
  • 像这样:Text(components['display].toString())。那会奏效。 @Berl
【解决方案2】:
  print(components['mainboard']);

【讨论】:

  • 这可行,但我不希望输出显示在控制台中,而是显示在文本小部件中。
  • @Berl: 做文本(components['mainboard'].toString())
【解决方案3】:

从最后一个值中删除''(显示)。

Map<String, int> components = {'cpu': 1, 'gpu': 4, 'mainboard': 3, 'display': 4};

在文本小部件中使用。

 Text(components['cpu'].toString())

【讨论】:

  • 现在,名称未定义。
猜你喜欢
  • 2011-04-01
  • 2019-05-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-03-03
  • 1970-01-01
  • 2020-08-13
  • 1970-01-01
相关资源
最近更新 更多