我想做的事:
- 显示一个文本框作为输入字段,它将接受城市名称(世界上的任何城市)
- 当用户开始输入时,我会自动(完整/建议)城市名称。
- 当用户从下拉列表中选择一个城市名称时,该名称也会出现在文本框中,并且背景会突出显示为非常浅的蓝色。
是否有任何现有的小部件可以做到这一点?如果没有,自动(完整/建议)城市名称的好方法是什么?
编辑:我知道 AutoCompleteTextView 会自动完成。问题更多是关于处理详尽的城市数据源(希望在某处作为 API 在线提供),并将小部件与此数据源列表连接起来。
我想做的事:
是否有任何现有的小部件可以做到这一点?如果没有,自动(完整/建议)城市名称的好方法是什么?
编辑:我知道 AutoCompleteTextView 会自动完成。问题更多是关于处理详尽的城市数据源(希望在某处作为 API 在线提供),并将小部件与此数据源列表连接起来。
正如您自己已经指出的那样,使用 Android SDK 中的标准组件可以相当容易地构建所描述的小部件,主要组件是AutoCompleteTextView. 就“从哪里获取城市数据”而言,您基本上有两种选择:
两者显然各有利弊。捆绑数据会大大增加您的 APK 大小,而 Web 服务通常会受到礼貌限制。哪个选项是“最好的”,将取决于几个因素,包括您的应用用户群的大小。
捆绑数据的一些具体资源:
和网络服务:
请注意,这些列表绝不是详尽无遗的——我相信还有很多其他选择。不过,他们应该为您提供一个不错的起点。
您可以尝试 AutoCompleteTextView 类 http://developer.android.com/reference/android/widget/AutoCompleteTextView.html
我猜你正在寻找类似于 Typeahead 地址选择器的东西。
https://github.com/sgruhier/typeahead-addresspicker
它既可以在您键入时推荐自动完成功能,也可以使用地图来选择/显示地址。看起来不错 :)