dart - Flutter 在按下按钮时弹出一个列表,并在选择一个选项后关闭该列表
问题描述
我正在为可以导航用户的建筑物构建应用程序,其中一种方法是使用建筑物的平面图,并且我想在此平面图中的节点之间绘制路径以创建路线。用户输入他们想要的位置,然后路由查找算法输出一个路径,我想要构建此路径的方式是让用户从两个单独的列表中选择一个源节点和一个目标节点,我希望他们按下一个按钮在地图视图屏幕上,会出现一个包含这些节点的列表,但无论我尝试什么,该列表都不会显示。
我试过使用setState
并ListView
返回,但这似乎是它失败的地方,因为我有打印语句来帮助验证我到达的代码中的位置,我不知道这是否是我正在使用的搜索词但到目前为止我发现的任何东西似乎都与这种用例有关。这与我想要的类似,但这只是一个已经显示然后正在更新的列表。
Widget build(BuildContext context) {
//currently inside of a scaffold
bottomNavigationBar: BottomAppBar(
child: new Row(
mainAxisSize: MainAxisSize.max,
mainAxisAlignment: MainAxisAlignment.spaceBetween,
children: <Widget>[
IconButton(
icon: Icon(Icons.trip_origin),
onPressed: () {
setState(() {
_sourceList();
});
},
),
],
)),
//extra code as part of scaffold
}
Widget _sourceList() {
print("working1"); //this prints
return ListView.builder(
padding: const EdgeInsets.all(10.0),
itemBuilder: (context, i) {
print("working2"); //this does not
return _buildRow();
});
}
Widget _buildRow() {
return new ListTile(title: Text(a.name));
}
所以基本上我只想在用户按下按钮时显示一个列表,然后在做出选择后让该列表消失。实际结果是我可以按下按钮并且什么都没有显示,我只在代码中到达了working1 not working2。
解决方案
推荐阅读
- django - Django 模型 Slug 字段 unique_for_month 不起作用
- python - 将 Python 请求与 Siteminder 一起使用
- algorithm - 如何生成仅具有路径压缩的不相交集的最坏情况?
- javascript - 在下面的链接中,他们为什么在 javascript 步骤中的 slides[slideIndex-1].style.display = "block" 处添加“-1”?
- java-8 - 如何通过自定义转换器和管道使用 Spring Data Redis for Hash
- javascript - 比较数字时如何解决问题?
- python - 如何并行化 scipy 优化器?
- https - 是否可以编写一个脚本来拦截 HAproxy 上的 HTTP 请求,以附加客户端 pki 证书?
- bigdata - 部署气流代码库
- java - jmeter中的堆设置程序